PHP では、データを渡すために JSON (JavaScript Object Notation) を使用することがよくあります。 JSON は、読み取り、書き込み、解析が簡単な軽量のデータ形式であり、異なる言語間のデータ交換に適しています。 JSON オブジェクトを配列に変換する必要がある場合がありますが、この記事ではこの機能を PHP で実現する方法を紹介します。
最初に JSON の構造を見てみましょう。JSON オブジェクトには複数のキーと値のペアが含まれています。各キーと値のペアはフィールド名と値で構成されます。フィールド名と値はコロンで区切られます。キー値 ペアをカンマで区切って中括弧で囲みます。例:
{ "name": "Alice", "age": 30, "height": 1.65 }
PHP では、json_decode
関数を使用して JSON 文字列を PHP 変数に変換できます。この関数の最初のパラメータはデコードされる JSON 文字列で、2 番目のパラメータは戻り値が連想配列か通常の配列かを示すブール値です。 2 番目のパラメータが true
の場合、戻り値は連想配列になります。false
または省略された場合、戻り値はオブジェクトになります。
したがって、json_decode
関数を使用して JSON 文字列を PHP オブジェクトに変換し、キャストを使用してそれを配列に変換できます。例:
$json = '{"name": "Alice", "age": 30, "height": 1.65}'; $obj = json_decode($json); // 将 JSON 对象转换成 PHP 对象 $arr = (array) $obj; // 将 PHP 对象转换成数组 print_r($arr);
実行結果は次のようになります:
Array ( [name] => Alice [age] => 30 [height] => 1.65 )
上記のコードは、JSON オブジェクトを 3 つの要素を含む配列に変換します。各要素のキー名は、JSON 内のフィールド名に対応します。オブジェクト。キー値はフィールドの値に対応します。
もちろん、json_decode
関数の 2 番目のパラメーターを直接使用して連想配列に変換した方が簡単です。例:
$json = '{"name": "Alice", "age": 30, "height": 1.65}'; $arr = json_decode($json, true); // 将 JSON 对象转换成关联数组 print_r($arr);
実行結果は次のようになります:
Array ( [name] => Alice [age] => 30 [height] => 1.65 )
上記のコードは、JSON オブジェクトを 3 つの要素を含む配列に変換します。各要素のキー名は、 JSON オブジェクト。キー値に対応するフィールドの値。唯一の違いは、この配列が連想配列であり、各要素のキー名が JSON オブジェクトのフィールド名とまったく同じであることです。
要約すると、JSON オブジェクトを配列に変換するには 2 つの方法があります。
json_decode
関数を使用して、JSON オブジェクトを PHP に変換します。オブジェクトを取得し、キャストを使用して配列に変換します。 json_decode
関数の 2 番目のパラメーターを直接使用して、連想配列に変換します。 実際の開発では、実際のニーズに応じて適切な方法を選択できます。 JSON オブジェクトにネストされた JSON オブジェクトまたは配列が含まれている場合、配列に変換するときに再帰処理が必要になる場合があることに注意してください。
以上がPHPのJSONオブジェクトを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。