ホームページ  >  記事  >  バックエンド開発  >  jsonから配列phpへ

jsonから配列phpへ

WBOY
WBOYオリジナル
2023-05-22 19:23:091303ブラウズ

Web 開発のプロセスでは、JSON データ形式を配列に変換する必要があることがよくあります。 PHP 言語は JSON を処理する優れた機能を備えており、JSON 形式のデータを配列にすばやく変換できます。

PHP には、JSON と配列の間で変換する組み込みの json_decode() 関数と json_encode() 関数があります。以下では、これら 2 つの機能のそれぞれの使用方法を紹介します。

1. json_decode() 関数

json_decode() 関数は、JSON データ形式を PHP 配列に変換するために使用されます。構文は次のとおりです:

mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )

このうち、 json パラメータは変換対象の JSON 文字列で、 assoc パラメータは戻り値がオブジェクトか配列かを指定するために使用され、デフォルトは配列; Depth パラメータは最大ネスト深さを設定するために使用され、デフォルト値は 512 です; options パラメータはエンコード オプションを設定するために使用され、通常は必要ありません。

次は、JSON 文字列を配列に変換する例です:

$json_str = '{"name":"Tom","age":18}';
$arr = json_decode($json_str, true);
print_r($arr);

上記のコードの出力は次のとおりです:

Array (
    [name] => Tom
    [age] => 18
)

2. json_encode() 関数

json_encode() 関数は、PHP 配列を JSON 形式の文字列に変換するために使用されます。その構文は次のとおりです:

string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

このうち、value パラメーターは変換される配列またはオブジェクトです。options パラメーターは、通常は必要のないエンコード オプションを設定するために使用されます。 Depth パラメーターは、変換するために使用されます。ネストの最大の深さを設定します。デフォルト値は 512 です。

次は、配列を JSON 文字列に変換する例です:

$arr = array('name' => 'Tom', 'age' => 18);
$json_str = json_encode($arr);
echo $json_str;

上記のコードの出力は次のとおりです:

{"name":"Tom","age":18}

3. 完全な例

以下は、複数の要素を含む JSON 配列を PHP 配列に変換し、要素の 1 つを出力する完全な例です:

$json_str = '[{"name":"Tom","age":18},{"name":"Jack","age":20},{"name":"Mary","age":22}]';
$arr = json_decode($json_str, true);
echo $arr[1]['name'];

上記のコードの出力は次のとおりです:

Jack

概要: json_decode() 関数と json_encode() 関数は非常に実用的で、JSON と配列の間で効果的に変換できます。実際の開発では、JSON データ形式を配列に変換したり、配列を JSON 形式の文字列に変換したりすることがよくありますが、これら 2 つの関数が役に立ちます。 json_decode() 関数は標準の JSON 形式の文字列のみを変換できることに注意してください。それ以外の場合はエラーが発生します。

以上がjsonから配列phpへの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。