PHP 開発プロセスでは、通常、フロントエンドで表示したり、異なるシステム間でデータを転送したりするために、配列を JSON に変換する必要があります。同時に、PHP 配列をオブジェクト配列に変換したり、オブジェクト配列を JSON 配列に変換したりする必要がある場合もあります。この記事では、PHP でこれらの変換操作を完了する方法について説明します。
1. PHP 配列から JSON への変換
PHP では、 json_encode() 関数を使用して配列を JSON に変換できます。この関数は配列を引数として受け取り、それを JSON 形式の文字列に変換します。以下はサンプル コードです:
$fruits = array('apple', 'banana', 'cherry'); echo json_encode($fruits);
コードが実行されると、次の結果が出力されます:
["apple","banana","cherry"]
2. PHP 配列からオブジェクト配列への変換
場合によっては、 PHP を変換する必要がある プログラムでの操作と処理を容易にするために、配列はオブジェクトの配列に変換されます。この変換操作を完了するには、まず空のオブジェクトを定義し、次にそれにプロパティと値を追加する必要があります。以下はサンプル コードです:
$person = array( 'name' => '张三', 'age' => 26, 'country' => '中国' ); $objPerson = new stdClass(); foreach ($person as $key => $value) { $objPerson->$key = $value; } echo '<pre class="brush:php;toolbar:false">'; print_r($objPerson); echo '';
コードが実行されると、次の結果が出力されます:
stdClass Object ( [name] => 张三 [age] => 26 [country] => 中国 )
3. オブジェクト配列を JSON 配列に変換します
フロントエンドでデータを表示または送信するには、オブジェクト配列を JSON 配列に変換する必要があります。この変換操作を完了するには、json_encode() 関数と型キャスト手法を使用できます。以下はサンプル コードです:
$users = array( array('name' => '张三', 'age' => 26, 'country' => '中国'), array('name' => '李四', 'age' => 28, 'country' => '美国'), array('name' => '王五', 'age' => 30, 'country' => '英国') ); $objUsers = array(); foreach ($users as $user) { $objUser = new stdClass(); foreach ($user as $key => $value) { $objUser->$key = $value; } array_push($objUsers, $objUser); } echo json_encode((array)$objUsers);
コードが実行されると、次の結果が出力されます:
[{"name":"张三","age":26,"country":"中国"},{"name":"李四","age":28,"country":"美国"},{"name":"王五","age":30,"country":"英国"}]
4. JSON 配列をオブジェクト配列に変換します
場合によっては、 JSON を変換する必要があります。プログラムでの操作と処理を容易にするために、配列はオブジェクトの配列に変換されます。この変換操作を完了するには、json_decode() 関数と型キャスト手法を使用する必要があります。以下はサンプルコードです:
$jsonUsers = '[{"name":"张三","age":26,"country":"中国"},{"name":"李四","age":28,"country":"美国"},{"name":"王五","age":30,"country":"英国"}]'; $objUsers = json_decode($jsonUsers); $arrUsers = array(); foreach ($objUsers as $user) { $arrUser = array(); foreach ($user as $key => $value) { $arrUser[$key] = $value; } array_push($arrUsers, $arrUser); } echo ''; print_r($arrUsers); echo '';
コードが実行されると、次の結果が出力されます:
Array ( [0] => Array ( [name] => 张三 [age] => 26 [country] => 中国 ) [1] => Array ( [name] => 李四 [age] => 28 [country] => 美国 ) [2] => Array ( [name] => 王五 [age] => 30 [country] => 英国 ) )
上記は、PHP 配列から JSON、PHP 配列からオブジェクト配列、オブジェクト配列です。 to JSON配列、JSON 配列をオブジェクト配列に変換する操作方法です。PHP開発者の参考になれば幸いです。
以上がPHP配列オブジェクトとJSON配列オブジェクトを相互に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。