ホームページ > バックエンド開発 > PHPチュートリアル > PHP json_encode 中国語処理クラスの例_PHP チュートリアル

PHP json_encode 中国語処理クラスの例_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:49:41
オリジナル
920 人が閲覧しました

PHP での中国語の処理は常に完璧ではありません。私たちは、json を処理するときにも同じ問題に遭遇しました。その後、json_encode の中国語の文字化けまたは空のプログラムに対する完璧な解決策をまとめました。

コードは次のとおりです コードをコピー

/*************************************************** * **********
*
* 特定の関数を使用して配列内のすべての要素を処理します
* @param string &$array 処理対象の文字列
* @param string $function 実行する関数
* @return boolean $apply_to_keys_only キーにも適用されるかどうか
* @アクセス公開
*
************************************************* * ***********/
関数 arrayRecursive(&$array, $function, $apply_to_keys_only = false)
{
静的 $recursive_counter = 0;
If (++$recursive_counter > 1000) {
Die('深い再帰攻撃の可能性あり');
}
foreach ($array as $key => $value) {
If (is_array($value)) {
arrayRecursive($array[$key], $function, $apply_to_keys_only);
} その他 {
$array[$key] = $function($value);
}
If ($apply_to_keys_only && is_string($key)) {
$new_key = $function($key);
If ($new_key != $key) {
$array[$new_key] = $array[$key];
unset($array[$key]);
}
}
}
$recursive_counter--;
}
/*************************************************** * **********
*
* 配列を JSON 文字列に変換します (中国語と互換性があります)
* @param array $array 変換する配列
* @return string 変換されたjson文字列
* @アクセス公開
*
************************************************* * ***********/
関数 JSON($array) {
arrayRecursive($array, 'urlencode', true);
$json = json_encode($array);
urldecode($json)を返します;
}

$配列 = 配列
(
「名前」=>「ルオエン」、
「年齢」=>24
);


エコー JSON($array);

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632709.html技術記事 PHP での中国語の処理は常に完璧ではありません。中国語を処理するときに文字化けや空文字の問題がよく発生します。私も JSON を処理するときに同じ問題に遭遇しました。その後、完璧な解決策をコンパイルしました。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート