PHP は、さまざまな種類のデータを処理でき、データを処理するための豊富な関数ライブラリを提供する非常に人気のあるサーバー側プログラミング言語です。 JSON (JavaScript Object Notation) は、フロントエンドとバックエンドのデータ対話、API インターフェイスのデータ送信、その他の分野で広く使用されている軽量のデータ交換形式です。 PHP では、JSON 文字列を配列に変換するのが一般的な操作です。では、PHP はどのようにして JSON を配列に変換するのでしょうか?この記事ではそれについて詳しく説明します。
PHP では、JSON を配列に変換するのは主に、json_encode と json_decode という 2 つのコア関数に依存します。このうち、json_encode 関数は PHP の配列またはオブジェクトを JSON 形式の文字列に変換し、json_decode 関数は JSON 形式の文字列を PHP の配列またはオブジェクトに変換します。これら2つの機能の具体的な使い方を以下に紹介します。
json_encode 関数は、PHP 配列またはオブジェクトを JSON 形式の文字列に変換するために使用されます。関数の基本構文は次のとおりです:
string json_encode ( mixed $value , int $options = 0 , int $depth = 512 )
ここで、パラメータ $value は必須であり、エンコードされる PHP 配列またはオブジェクトを表します。 $options パラメータはエンコード オプションを表し、オプションの値は定数の形式で定義されます。たとえば、JSON_PRETTY_PRINT は JSON 形式の文字列をフォーマットすることを意味し、JSON_UNESCAPED_UNICODE は非 ASCII 文字をエスケープしないことを意味します。 $ Depth パラメータは最大再帰深さを示し、デフォルト値は 512 です。
以下は、PHP 配列を JSON 形式の文字列に変換する簡単な例です:
<?php $arr = array('name' => '张三', 'age' => 18); $json = json_encode($arr); echo $json; //输出{"name":"张三","age":18} ?>
json_decode 関数は変換に使用されます。 JSON 形式の文字列は PHP の配列またはオブジェクトに変換されます。関数の基本的な構文は次のとおりです:
mixed json_decode ( string $json , bool $assoc = false , int $depth = 512 , int $options = 0 )
このうち、パラメータ $json は必須であり、デコードする JSON 形式の文字列を表します。 $assoc パラメータは、返された結果が連想配列かどうかを示します。オプションの値は true または false です。デフォルトは false で、返された結果がオブジェクトであることを意味します。 $ Depth パラメータは最大再帰深さを示し、デフォルト値は 512 です。 $options パラメータはデコード オプションを表し、オプションの値は定数の形式で定義されます。たとえば、JSON_BIGINT_AS_STRING は PHP_INT_MAX より大きい整数を文字列として処理することを表し、JSON_OBJECT_AS_ARRAY は JSON 形式の文字列を連想配列にデコードすることを表します。
以下は、JSON 形式の文字列を PHP 配列に変換する簡単な例です:
<?php $json = '{"name":"张三","age":18}'; $arr = json_decode($json, true); print_r($arr); //输出Array ( [name] => 张三 [age] => 18 ) ?>
json_decode 関数を使用して JSON 形式の文字列をデコードする場合、JSON 形式の文字列がformat 文字列に中国語の文字が含まれており、デコードされた結果がオブジェクトではなく連想配列になるように、パラメータ $assoc を true に設定する必要があります。
概要
この記事では、主に json_encode と json_decode の 2 つのコア関数に依存して、PHP が JSON 形式の文字列を配列に変換する方法を紹介します。これら 2 つの関数を使用すると、PHP の配列またはオブジェクトを JSON 形式の文字列に変換したり、JSON 形式の文字列を PHP の配列またはオブジェクトに変換したりすることが簡単にできます。 JSON をエンコードおよびデコードするときは、エンコードおよびデコードの精度と効率を確保するために、エンコードおよびデコードのオプションを合理的に使用する必要があることに注意してください。
以上がPHPでJSONを配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。