Web アプリケーションの開発では、JSON (JavaScript Object Notation) データの処理が一般的なタスクになりました。PHP は人気のある言語であり、多くの Web 開発者が JSON データの処理に PHP の使用を選択します。この記事では、PHP で JSON を解析して配列にする方法について説明します。
PHP の組み込み json_decode() 関数は、JSON 文字列を PHP オブジェクトまたは配列に解析できます。 JSON を配列として解析する場合、 json_decode() 関数の 2 番目のパラメータを true に設定することで、JSON を PHP オブジェクトではなく連想配列として解析できます。例:
$json = '{"name": "John", "age": 30, "city": "New York"}'; $arr = json_decode($json, true); print_r($arr);
上記のコードは次の結果を出力します:
Array ( [name] => John [age] => 30 [city] => New York )
JSON データに入れ子になった配列が含まれる場合, foreach ループを使用して配列を反復できます。たとえば、次はネストされた配列の JSON データです:
{ "name": "John", "age": 30, "city": "New York", "contacts": [ { "type": "phone", "number": "555-5555" }, { "type": "email", "address": "john@example.com" } ] }
json_decode() 関数を使用して、それを PHP 配列に解析できます:
$json = '{ "name": "John", "age": 30, "city": "New York", "contacts": [ { "type": "phone", "number": "555-5555" }, { "type": "email", "address": "john@example.com" } ] }'; $arr = json_decode($json, true);
上記のコードは次を返します。連想配列:
Array ( [name] => John [age] => 30 [city] => New York [contacts] => Array ( [0] => Array ( [type] => phone [number] => 555-5555 ) [1] => Array ( [type] => email [address] => john@example.com ) ) )
foreach ループを使用してネストされた配列を反復できます:
foreach ($arr['contacts'] as $contact) { echo $contact['type'] . ': ' . $contact['number'] . '<br>'; }
出力:
phone: 555-5555 email: john@example.com
$json = '{"name": "John, "age": 30, "city": "New York"}'; $arr = json_decode($json, true);
$json = '{"name": "John, "age": 30, "city": "New York"}'; $arr = json_decode($json, true); if ($arr === null) { echo 'JSON解析失败'; } else { print_r($arr); }
JSON解析失败
以上がPHPでJSONを解析して配列にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。