PHP開発ではJSON形式のデータを扱うことが多いのですが、このデータを処理する際にはJSONをPHPの配列に変換して運用する必要があります。一般的に使用される 2 つの方法を以下に紹介します。json_decode() 関数を使用する方法と、json_decode() 関数を 2 番目のパラメーター true と組み合わせて使用する方法です。
方法 1: json_decode() 関数を使用する
json_decode() 関数は、PHP の組み込み JSON デコード関数であり、JSON 文字列を PHP 配列に変換できます。 json_decode() 関数は UTF-8 形式のデータのみをサポートするため、この関数を使用して変換する前に、まず JSON 文字列を UTF-8 形式に変換する必要があります。
次は簡単な例です:
$json_str = '{"name":"张三","age":18,"gender":"男"}'; // 示例JSON字符串 $arr = json_decode($json_str, true); // 将JSON字符串转换成PHP数组 print_r($arr); // 打印数组
実行結果は次のとおりです:
Array ( [name] => 张三 [age] => 18 [gender] => 男 )
方法 2: json_decode() 関数を 2 番目のパラメーター true と組み合わせて使用します
2 番目のパラメータ true は、JSON データを連想配列に変換することを表します。原理はメソッド 1 と似ていますが、json_decode() 関数を使用する場合は 2 番目のパラメータ true を追加する必要がある点が異なります。
次は簡単な例です:
$json_str = '{"name":"张三","age":18,"gender":"男"}'; // 示例JSON字符串 $arr = json_decode($json_str, true); // 将JSON字符串转换成PHP关联数组 print_r($arr); // 打印数组
実行結果は方法 1 と同じです:
Array ( [name] => 张三 [age] => 18 [gender] => 男 )
ここで、json_decode() 関数は JSON を変換することに注意してください。データはデフォルトでオブジェクト型に変換されますが、配列型に変換する場合は、2 番目のパラメーターの位置に true を渡す必要があります。
概要
上記 2 つの方法を使用すると、JSON データを PHP 配列に簡単に変換できるため、開発中のさまざまな操作が容易になります。 json_decode() 関数を使用する場合は、JSON 文字列の形式が正しいことを確認する必要があります。そうでないと null が返されることに注意してください。 json_decode() 関数を使用する場合は、トランスコードの問題にも注意する必要があります。そうしないと文字化けが発生します。また、PHPの配列とJSONデータは構造がよく似ているため、PHPの配列をJSON形式のデータに変換することも可能で、具体的な方法についてはPHPの公式ドキュメントを参照してください。
以上がphpのjsonを配列に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。