ホームページ > バックエンド開発 > PHPの問題 > PHPで中国語配列をJSONに変換する方法

PHPで中国語配列をJSONに変換する方法

PHPz
リリース: 2023-04-18 10:05:44
オリジナル
626 人が閲覧しました

近年、Web テクノロジーの継続的な発展に伴い、フロントエンドとバックエンド間のデータのやりとりがますます一般的になってきています。このプロセスでは、データ形式の変換が特に重要です。この記事ではphpで中国語配列をjson形式に変換する方法を紹介します。

1. 中国語配列とは

中国語配列は、配列要素のキー名と値が中国語の文字列である点を除けば、通常の配列と似ています。例:

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
ログイン後にコピー

2. JSON とは

JSON (JavaScript Object Notation) はデータ交換用の言語で、データを簡潔な形式で表現し、読み書きが容易です。 JSON は数値、文字列、ブール値、配列、オブジェクトなどを表すことができ、Web アプリケーションで広く使用されています。例:

{
   "name": "John",
   "age": 30,
   "city": "New York"
}
ログイン後にコピー

3. 中国語配列を JSON に変換

PHP では、json_encode() 関数を使用して中国語配列を JSON 形式に変換できます。例:

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE);
echo $json_str;
ログイン後にコピー

コードの JSON_UNESCAPED_UNICODE パラメータは、中国語の文字化けを防ぐためのものです。つまり、中国語は Unicode でエンコードされません。

きちんとした JSON 形式を出力したい場合は、json_encode() 関数の 2 番目のパラメーター JSON_PRETTY_PRINT を使用できます。例:

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$json_str = json_encode($cn_arr,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo $json_str;
ログイン後にコピー

出力結果は次のとおりです:

{
    "姓名": "张三",
    "年龄": 20,
    "性别": "男"
}
ログイン後にコピー

json_encode() 関数は UTF-8 でエンコードされた文字列のみを処理できることに注意してください。 PHP ファイルのエンコードが UTF-8 でない場合は、mb_convert_encoding() 関数を使用して、配列要素を UTF-8 でエンコードされた文字列に変換する必要があります (例:

$cn_arr = array("姓名"=>"张三","年龄"=>20,"性别"=>"男");
$utf8_arr = array();
foreach($cn_arr as $key=>$value){
  $utf8_arr[mb_convert_encoding($key,"UTF-8","auto")]=mb_convert_encoding($value,"UTF-8","auto");
}
$json_str = json_encode($utf8_arr,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo $json_str;
ログイン後にコピー

4. JSON から中国語配列へ##)

#php では、json_decode() 関数を使用して、JSON 形式の文字列を配列に変換できます。例:

$json_str = '{"姓名":"张三","年龄":20,"性别":"男"}';
$cn_arr = json_decode($json_str,true);
print_r($cn_arr);
ログイン後にコピー
コード内の 2 番目のパラメーター true は、JSON オブジェクトを配列に変換することを意味します。出力結果は次のとおりです。

Array
(
    [姓名] => 张三
    [年龄] => 20
    [性别] => 男
)
ログイン後にコピー
json_decode() 関数は UTF-8 でエンコードされた文字列のみを処理できることに注意してください。 JSON 文字列エンコーディングが UTF-8 でない場合は、mb_convert_encoding() 関数を使用して文字列を UTF-8 エンコーディングに変換する必要があります (例:

$json_str = '{"姓名":"张三","年龄":20,"性别":"男"}';
$utf8_str = mb_convert_encoding($json_str,"UTF-8","auto");
$cn_arr = json_decode($utf8_str,true);
print_r($cn_arr);
ログイン後にコピー
5)。この記事では、phpで中国語配列をJSON形式に変換する方法と、JSON文字列を中国語配列に変換する方法を紹介します。データ形式を変換する場合、文字化けを避けるためにエンコードの問題に特別な注意を払う必要があります。

以上がPHPで中国語配列をJSONに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート