PHP 배열을 인코딩으로 변환하는 방법

藏色散人
풀어 주다: 2023-03-04 17:16:02
원래의
2334명이 탐색했습니다.

PHP 배열을 인코딩으로 변환하는 방법: 1. iconv 함수를 사용하여 배열을 탐색하여 문자 집합을 변환합니다. 2. var_export 및 eval 메서드를 사용하여 변환을 수행합니다. 3. 재귀를 사용하여 배열을 트랜스코딩합니다.

PHP 배열을 인코딩으로 변환하는 방법

추천: "PHP 비디오 튜토리얼"

PHP 배열에서 중국어 문자 인코딩을 변환하기 위한 세 가지 솔루션

1. iconv 함수를 사용하여 배열을 탐색하여 문자 집합을 변환합니다.

/*
* 字符串/二维数组/多维数组编码转换
* @param string $in_charset
* @param string $out_charset
* @param mixed $data
*/
function array_iconv($data, $in_charset='GBK', $out_charset='UTF-8'){
if (!is_array($data)){
$output = iconv($in_charset, $out_charset, $data);
}elseif(count($data)===count($data, 1)){//判断是否是二维数组
foreach($data as $key => $value){
$output[$key] = iconv($in_charset, $out_charset, $value);
}
}else{
eval_r('$output = '.iconv($in_charset, $out_charset, var_export($data,
TRUE)).';');
}
return $output;
}
로그인 후 복사

2 .var_export(), eval() 메소드를 사용하세요

/** * 将含有GBK的中文数组转为utf-8 * * @param array $arr 数组 * @param string
$in_charset 原字符串编码 * @param string $out_charset 输出的字符串编码 * @return array
*/ function array_iconv($arr, $in_charset="gbk", $out_charset="utf-8") {
$ret = eval('return
'.iconv($in_charset,$out_charset,var_export($arr,true).';')); return
$ret; // 这里转码之后可以输出json // return json_encode($ret); }
로그인 후 복사

원칙은 매우 간단합니다

var_export는 두 번째 매개변수를 true로 설정하고 배열 프로토타입 문자열을 반환하며 문자열을 utf-8 인코딩으로 변환한 다음 eval을 사용하여 다음을 수행합니다. return(익명 함수와 유사?)을 수행하면 문제가 완벽하게 해결됩니다.

eval() 함수 요약:

조건: eval() 함수는 PHP 코드에 따라 문자열을 계산합니다. 문자열은 유효한 PHP 코드여야 하며 세미콜론으로 끝나야 합니다.

코드 문자열에서 return 문을 호출하지 않으면 NULL이 반환됩니다. 코드에 구문 분석 오류가 있는 경우 eval() 함수는 false를 반환합니다.

$a ="hello"; $res = eval("return $a;"); print_r($res); //
로그인 후 복사

eval("$str = "$str";");을 할당할 때 백슬래시를 사용하여 $ 식별자를 이스케이프해야 합니다. echo $str;

3. 재귀를 사용하여 배열을 트랜스코딩합니다(eval이 비활성화된 경우)

으아악

위 내용은 PHP 배열을 인코딩으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!