PHP は、JSON を配列に変換して、データの処理と管理をよりシンプルかつ効率的にできる、一般的に使用されるプログラミング言語です。ここでは、開発者がこの操作を迅速に実装するのに役立ついくつかの方法とテクニックを紹介します。
PHP では、json_decode() 関数を使用して、JSON 形式のデータを PHP 配列に簡単に変換できます。具体的な構文は次のとおりです。
mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )
パラメータの説明:
$json
: JSON 文字列を渡します; $assoc
: ( can オプション) デフォルトは false で、stdClass オブジェクトが返されることを意味します。true に設定すると、配列が返されます。$ Depth
: (オプション) 再帰の最大の深さを示します。 、デフォルトは 512 Layer; $options
: (オプション) デコード時にオプションを設定します。一般的なものは JSON_BIGINT_AS_STRING
(大きな数値を文字列型に変換します)、 JSON_OBJECT_AS_ARRAY
(stdClass オブジェクトを配列に変換) など。 例:
$json_str = '{"name":"Jack","age":30,"city":"Beijing"}'; $arr = json_decode($json_str, true); print_r($arr);
出力結果は次のとおりです:
Array ( [name] => Jack [age] => 30 [city] => Beijing )
JSON 文字列を配列に変換できるだけでなく、ファイルから JSON データを読み取り、それを配列に変換することもできます。このとき、file_get_contents()
関数を使用して JSON ファイルの内容を読み取り、前述の json_decode()
関数を使用して変換を実現できます。
例:
$json_file = 'data.json'; $json_str = file_get_contents($json_file); $arr = json_decode($json_str, true); print_r($arr);
JSON データがローカル ファイルになく、送信される場合ネットワーク経由で、現時点では、curl ライブラリを使用して JSON データを取得し、json_decode()
関数を使用して変換を実装できます。
例:
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://api.example.com/data.json'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); curl_close($curl); $arr = json_decode($result, true); print_r($arr);
上記のコードは、curl ライブラリを使用して https://api.example.com/data.json
インターフェイスをリクエストし、返されたデータを変換します。 JSONデータを配列として出力します。
概要
この記事では、JSON データを PHP 配列に変換する 3 つの方法を紹介しますが、それぞれに長所と短所があり、開発者は実際の状況に応じて適切な方法を選択できます。 json_decode()
関数を使用する場合は、エラーを避けるために、デコード オプション、再帰の深さ、返されるデータ型、その他の問題にも注意する必要があります。これらのスキルを習得することで、PHP開発者の作業効率は大幅に向上すると思います。
以上がPHP が json を配列に変換する方法 (3 つの方法) について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。