PHP 開発では、多くの場合、JSON 形式のデータを PHP 配列に変換する必要があります。この記事では、JSON 配列文字列を PHP 配列に変換する方法を説明します。
まず、JSON とは何かを理解する必要があります。 JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 JSON では、データはキーと値のペアの形式で表され、各キーと値のペアはカンマで区切られ、中括弧または角括弧で囲まれます。 JSON はデータ交換に使用でき、さまざまなプログラミング言語に適しています。
以下は簡単な JSON 配列文字列の例です:
[{"name":"John","age":25},{"name":"Jane","age":30}]
この時点で、それを PHP 配列に変換します。これは、PHP 組み込み関数 json_decode( )。 json_decode() 関数は、JSON 文字列を PHP オブジェクトまたは配列に変換する関数です。その構文は次のとおりです。
mixed json_decode(string $json, bool $assoc = false, int $depth = 512, int $options = 0)
ここで、$json は有効な JSON 形式文字列、$assoc はオプションのブール値です。デフォルトは false です。true に設定すると、PHP 連想配列が返されます。 $ Depth は、JSON 文字列のネスト レベルの最大数を指定するオプションの整数です。デフォルトは 512 です。 $options は、json_decode() 関数の動作オプションを指定するオプションの整数です。一般的に使用されるオプションは、JSON_BIGINT_AS_STRING、JSON_OBJECT_AS_ARRAY、および JSON_NUMERIC_CHECK です。
以下は、上記の JSON 配列文字列を PHP 配列に変換するサンプル コードです:
$json_str = '[{"name":"John","age":25},{"name":"Jane","age":30}]'; $arr = json_decode($json_str, true); print_r($arr);
出力結果は次のとおりです:
Array ( [0] => Array ( [name] => John [age] => 25 ) [1] => Array ( [name] => Jane [age] => 30 ) )
ご覧のとおり、json_decode () 関数を使用すると、JSON 文字列が PHP 配列に変換され、通常の PHP 配列と同様に操作できます。
実際の開発では、JSON 配列を操作する必要がある場合、まず JSON 配列を PHP 配列に変換し、次に PHP 配列を操作します。たとえば、foreach ループを使用して、配列内の各要素を走査できます。
foreach ($arr as $item) { echo $item['name'] . ' is ' . $item['age'] . ' years old.' . PHP_EOL; }
出力結果は次のとおりです。
John is 25 years old. Jane is 30 years old.
json_decode() 関数の使用に加えて、PHP では、 json_encode() 関数、PHP 配列またはオブジェクトを JSON 形式の文字列に変換できます。その構文は次のとおりです:
string json_encode(mixed $value, int $options = 0, int $depth = 512)
このうち、$value は JSON 形式にエンコードされる値で、PHP 配列、オブジェクト、数値、文字列などを指定できます。 $options は、json_encode() 関数の動作オプションを指定するオプションの整数値です。 $ Depth は、ネスト レベルの最大数を指定するオプションの整数です。デフォルトは 512 です。
以下は、PHP 配列を JSON 形式の文字列に変換するサンプル コードです。
$arr = [ ['name' => 'John', 'age' => 25], ['name' => 'Jane', 'age' => 30], ]; $json_str = json_encode($arr); echo $json_str . PHP_EOL;
出力結果は次のとおりです。
[{"name":"John","age":25},{"name":"Jane","age":30}]
json_encode( ) 関数は、PHP 配列を JSON 形式の文字列に変換します。
要約すると、JSON 配列文字列を PHP 配列に変換するには、 json_decode() 関数を使用できます。同時に、PHP 配列を JSON 形式の文字列に変換する必要がある場合は、json_encode() 関数を使用できます。実際の開発では、これら 2 つの関数は非常に便利で、異なるプログラミング言語やアプリケーション間でデータを交換するのに役立ちます。
以上がPHPでJSON配列文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。