PHP は非常に人気のあるサーバーサイド プログラミング言語であり、強力な文字列処理機能を備えており、JSON 形式の文字列の配列またはオブジェクトへの変換をサポートしています。この記事では、PHPでJSON文字列を配列オブジェクトに変換する方法を紹介します。
1. JSON の概念
JSON の正式名称は JavaScript Object Notation で、「JavaScript オブジェクト表記法」と訳されます。これは、Web 送信やデータ保存で広く使用されている軽量のデータ交換形式です。 JSON 形式のデータは文字列の形式で保存することも、JavaScript でオブジェクトまたは配列として直接表すこともできます。
2. PHP の JSON 関数
PHP は、JSON 形式の文字列と PHP のデータ型の間で変換するための一連の JSON 関数を提供します。一般的に使用される JSON 関数の一部を次に示します:
3. JSON 文字列を配列に変換する
JSON 文字列を配列に変換するのは比較的簡単で、PHP の json_decode() 関数を使用するだけです。たとえば、次のコードは、JSON 形式の文字列を PHP 配列に変換します。
$json_str = '{"name":"Tom","age":20,"sex":"male"}'; $arr = json_decode($json_str, true); print_r($arr);
上記のコードでは、最初に、Tom という名前の 20 歳の男性を表す JSON 形式の文字列 $json_str を定義します。 。次に、json_decode() 関数を使用してこの文字列を PHP の配列に変換し、変数 $arr に割り当てます。最後に、print_r() 関数を使用して配列を出力し、次の結果を取得します。
Array
(
[name] => Tom [age] => 20 [sex] => male
)
結果として、JSON 文字列が PHP 配列に正常に変換されました。
4. JSON 文字列をオブジェクトに変換する
JSON 文字列を配列に変換するだけでなく、PHP ではオブジェクトに変換することもできます。これを実現するには、json_decode() 関数を呼び出すときに 2 番目のパラメーターを省略するか、false に設定する必要があります。たとえば、次のコードは JSON 形式の文字列を PHP オブジェクトに変換します。
$json_str = '{"name":"Tom","age":20,"sex":"male"}'; $obj = json_decode($json_str); var_dump($obj);
上記のコードでは、JSON 形式の文字列 $json_str を定義し、 json_decode() 関数を使用してそれを変換します。 PHPのオブジェクト。最後に、var_dump() 関数を使用してオブジェクトを表示し、次の結果を取得します。
object(stdClass)#1 (3) {
["name"]=>
string (3) "トム"
["年齢"]=>
int(20)
["性別"]=>
string(4) "男性"
}
結果から、JSON 文字列が PHP オブジェクトに正常に変換されたことがわかります。
5. 配列またはオブジェクトを JSON 文字列に変換する
JSON 文字列を PHP の配列またはオブジェクトに変換することに加えて、PHP の配列またはオブジェクトを JSON 形式の文字列に変換することもできます。これを実現するには、PHP で json_encode() 関数を使用する必要があります。たとえば、次のコードは、PHP 配列を JSON 形式の文字列に変換します。
$arr = array('name' => 'Tom', 'age' => 20, 'sex' => 'male'); $json_str = json_encode($arr); echo $json_str;
上記のコードでは、Tom という名前の男性 (20 歳) を表す PHP 配列 $arr を定義します。次に、 json_encode() 関数を使用して配列を JSON 形式の文字列に変換し、それを変数 $json_str に割り当てます。最後に、echo ステートメントを使用して文字列を出力し、次の結果を取得します:
{"name":"Tom","age":20,"sex":"male"}
結果からわかるように、PHP 配列は JSON 形式の文字列に正常に変換されました。
6. 配列オブジェクトを JSON 文字列に変換する
場合によっては、PHP の配列オブジェクトを JSON 形式の文字列に変換する必要があります。これを実現するには、まず配列オブジェクトをオブジェクトに変換し、次に json_encode() 関数を使用してそれを JSON 形式の文字列に変換します。たとえば、次のコードは配列オブジェクトを JSON 形式の文字列に変換します。
$arr = array( array('name' => 'Tom', 'age' => 20, 'sex' => 'male'), array('name' => 'Lucy', 'age' => 18, 'sex' => 'female') ); $obj = (object)$arr; $json_str = json_encode($obj); echo $json_str;
上記のコードでは、2 つの配列オブジェクトを含む PHP 配列 $arr を定義します。次に、(object)$arr を使用して PHP オブジェクト $obj に変換し、json_encode() 関数を使用してオブジェクトを JSON 形式の文字列に変換し、変数 $json_str に割り当てます。最後に、echo ステートメントを使用して文字列を出力し、次の結果を取得します。
[{"name":"Tom","age":20,"sex":"male"},{" name" :"Lucy","age":18,"sex":"girl"}]
結果を見ると、PHPの配列オブジェクトがJSON形式の文字列に変換できていることがわかります。
要約すると、上記の例を通じて、PHP で JSON 文字列を配列またはオブジェクトに変換する方法、および配列またはオブジェクトを JSON 文字列に変換する方法を明確に理解できます。これらの操作は PHP プログラミング プロセスでは非常に一般的なものであり、これらの操作をマスターするとプログラミング効率が大幅に向上します。
以上がPHPでJSON文字列を配列オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。