PHP では、JSON を配列に変換することは非常に一般的な操作です。 JSON は、キーと値のペアの形式でデータを表す軽量のデータ交換形式であり、配列もデータを保存するための構造です。 JSON を配列に変換すると、データの処理と操作がより便利になります。
PHP で JSON を配列に変換するいくつかの方法を紹介しましょう。
方法 1: json_decode() 関数
PHP には、JSON 文字列を PHP 配列に変換するための組み込み関数 json_decode() が用意されています。この関数を使用するには、JSON 文字列をパラメータとして渡すだけでよく、この関数はオプションのパラメータ $assoc を受け取り、返される配列の型を制御することもできます。
サンプル コードは次のとおりです。
$json = '{"name":"john", "age":30, "city":"New York"}'; $array = json_decode($json); print_r($array);
出力結果は次のとおりです。
Array ( [name] => john [age] => 30 [city] => New York )
上記のコードでは、$json は JSON データを含む文字列です。 json_decode() 関数でデコードされ、PHP 配列に変換されます。 $assoc パラメータが渡されないため、デフォルトではオブジェクト型の配列が返されます。連想配列を返す必要がある場合は、2 番目のパラメーターを true として渡すことができます。
$json = '{"name":"john", "age":30, "city":"New York"}'; $array = json_decode($json, true); print_r($array);
出力結果は次のとおりです。
Array ( [name] => john [age] => 30 [city] => New York )
方法 2: json_decode() 関数と file_get_contents() 関数を使用します。
JSON 文字列を次のように変換するだけでなく、 json_decode() 関数による配列 さらに、file_get_contents() 関数を通じて JSON ファイルの内容を取得し、json_decode() 関数を使用してそれを PHP 配列に変換することもできます。
サンプル コードは次のとおりです。
$json = file_get_contents('data.json'); $array = json_decode($json); print_r($array);
上記のコードでは、file_get_contents() 関数を使用して data.json という名前の JSON ファイルの内容を取得し、json_decode( ) 関数を使用して PHP 配列に変換します。
この方法を使用する場合、JSON ファイルに BOM (バイト オーダー マーク) 文字が存在できないことに注意してください。存在しないと、正しく解析されず、PHP 配列に変換されません。
方法 3: json_decode() 関数とcurl ライブラリを使用する
リモート サーバーから返された JSON データを取得して PHP 配列に変換する必要がある場合は、curl ライブラリを使用できます。および json_decode() 関数。
サンプル コードは次のとおりです。
$url = 'http://example.com/data.json'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $json = curl_exec($ch); $array = json_decode($json); curl_close($ch); print_r($array);
上記のコードでは、curl ライブラリを使用して GET リクエストを送信し、data.json という名前のリモート JSON ファイルの内容を取得します。 json_decode() 関数を使用して PHP 配列に変換します。
概要
上記は、JSON 形式のデータを PHP 配列に変換するいくつかの方法です。 PHP プロジェクトで JSON 形式のデータを使用する必要がある場合は、これらのメソッドを使用してデータを PHP 配列に変換し、処理と操作を容易にすることができます。
以上がPHPでJSONを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。