PHP 배열 인 코딩 gbk 와 utf 8 이 서로 전환 하 는 두 가지 방법
/**
* 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
으로 되 돌려 준다(익명 함수 와 유사 하 다?).이로써 문 제 를 완벽 하 게 해결 했다.eval()함수 소결:
조건:
eval()
함수 가 문자열 을 PHP 코드 에 따라 계산 합 니 다.이 문자열 은 합 법 적 인 PHP 코드 여야 하 며 분점 으로 끝내 야 합 니 다.코드 문자열 에서 호출
return
문 구 를 사용 하지 않 으 면 되 돌려 줍 니 다NULL
.코드 에 해석 오류 가 있 으 면eval()
함수 가 false 로 돌아 갑 니 다.
$a ="hello";
$res = eval("return $a;");
print_r($res);
// $
eval("\$str = \"$str\";");
echo $str;
2.재 귀 를 이용 하여 배열 을 바 꿉 니 다.
/**
* UTF-8 GBK /( )
*
* @param array $str ,
* @param string $in_charset
* @param string $out_charset
* @return array
*/
function array_iconv($str, $in_charset="gbk", $out_charset="utf-8")
{
if(is_array($str))
{
foreach($str as $k => $v)
{
$str[$k] = array_iconv($v);
}
return $str;
}
else
{
if(is_string($str))
{
// return iconv('UTF-8', 'GBK//IGNORE', $str);
return mb_convert_encoding($str, $out_charset, $in_charset);
}
else
{
return $str;
}
}
}
총결산PHP 는 배열 인 코딩 gbk 와 utf-8 을 서로 바 꾸 는 내용 을 여기까지 하면 기본적으로 끝 납 니 다.글 은 상세 하고 참고 가치 가 있 습 니 다.이 글 이 여러분 의 학습 과 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.