현재 위치: > 최신 기사 목록> PHP Custom Recursive Function은 JSON 기능으로 배열을 구현합니다 (GBK 인코딩 지원)

PHP Custom Recursive Function은 JSON 기능으로 배열을 구현합니다 (GBK 인코딩 지원)

gitbox 2025-07-28

소개하다

PHP 개발에서는 종종 배열을 JSON 형식의 문자열로 변환하여 프론트 엔드에서 데이터의 데이터 상호 작용 또는 스토리지를 가능하게합니다. PHP에는 내장 JSON_ENCODE 함수가있어 배열을 JSON 형식으로 변환 할 수 있지만 기본적으로 UTF-8 인코딩 만 지원합니다. 다른 인코딩 (예 : GBK)을 지원하려면 재귀 함수를 사용자 정의하여 JSON 기능을 구현해야합니다.

준비

PHP 버전 요구 사항

PHP가 버전 5.4로 시작하기 때문에 PHP 버전이 5.4 이상인지 확인하십시오.

MBString 확장자를 설치하십시오

GBK 인코딩을 지원하려면 MBString 확장을 설치해야합니다. 이 확장은 다중 바이트 문자열에 대한 처리 기능을 제공합니다. 다음 명령을 사용하여 설치할 수 있습니다.

 sudo apt-get update
sudo apt-get install php-mbstring

맞춤형 재귀 함수

다음으로, 배열을 JSON 함수로 구현하기 위해 사용자 정의 재귀 함수를 작성합니다. 다음은 기능의 구현입니다.

 /**
 * 배열 변환JSON형식 문자열(지원하다GBK코딩)
 * @param array $array 변환 할 배열
 * @return string JSON형식 문자열
 */
function json_encode_gbk($array) {
    $array = array_map('urlencode_gbk', $array);
    $json = json_encode($array);
    return urldecode_gbk($json);
}

/**
 * 문자열을 수행하십시오GBK코딩
 * @param string $str 待코딩的字符串
 * @return string 코딩后的字符串
 */
function urlencode_gbk($str) {
    return urlencode(mb_convert_encoding($str, 'GBK', 'UTF-8'));
}

/**
 * 문자열을 수행하십시오GBK디코딩
 * @param string $str 待디코딩的字符串
 * @return string 디코딩后的字符串
 */
function urldecode_gbk($str) {
    return mb_convert_encoding(urldecode($str), 'UTF-8', 'GBK');
}

위의 코드에서 json_encode_gbk 함수는 먼저 Array_Map을 통해 배열의 각 요소에서 urlencode_gbk 처리를 수행 한 다음 json_encode 함수를 사용하여 배열을 JSON 형식의 문자열로 변환합니다. 마지막으로, urldecode_gbk 함수는 gbk에서 UTF-8 형식으로 변환합니다.

사용의 예

중국어가 포함 된 배열이 있다고 가정합니다.

 $array = array(
    '이름' => '장 산',
    '나이' => 25,
    '성별' => '남성'
);

json_encode_gbk 함수를 호출하여 배열을 JSON 형식으로 변환 할 수 있습니다.

 $json = json_encode_gbk($array);
echo $json;

출력 결과는 다음과 같습니다.

 {
    "이름": "장 산",
    "나이": 25,
    "성별": "남성"
}

위에서 볼 수 있듯이 한자는 유니 코드 인코딩으로 성공적으로 변환되었습니다.

요약

사용자 정의 재귀 함수를 통해 JSON 기능으로의 배열을 성공적으로 구현하고 GBK 인코딩을 지원했습니다. 실제 개발에서 배열을 JSON 형식으로 변환하고 다른 인코딩을 지원 해야하는 경우 유사한 메소드를 사용하여 확장 할 수 있습니다.

사용자 정의 재귀 함수의 핵심 아이디어는 변환 전에 배열의 문자열을 인코딩 한 다음 변환 후 해독하는 것입니다. 이렇게하면 문자열이 다른 인코딩 사이에서 올바르게 변환되도록합니다.

이 기사가 PHP에서 JSON 기능으로 배열을 구현하는 방법을 이해하는 데 도움이되기를 바랍니다.