PHP は一般的に使用されるバックエンド開発言語であり、Web アプリケーションの開発によく使用されます。 PHP ではオブジェクトや配列を操作することが多く、オブジェクトを JSON 文字列に変換したり、JSON 文字列をオブジェクトや配列に変換したりする必要がよくあります。この記事では、PHP でオブジェクトを取得し、それを JSON 文字列、配列、オブジェクトの配列などのさまざまなデータ型に変換する方法を説明します。
オブジェクトの取得
new
キーワードを使用して、PHP でオブジェクトを作成できます。たとえば、次のコードを使用して、$person
という名前の Person オブジェクトを作成できます。
class Person { public $name; public $age; } $person = new Person(); $person->name = '张三'; $person->age = 21;
上記のコードは、Person
という名前のクラスを定義します。このクラスには、2 つの public があります。プロパティ name
および age
。その後、new
キーワードを使用して person
オブジェクトを作成し、それを $person
変数に保存します。 name
属性と age
属性の値をオブジェクトに設定します。それぞれ 'Zhang San'
と 21
です。
オブジェクトを JSON 文字列に変換する
PHP では、json_encode()
関数を使用してオブジェクトを JSON 文字列に変換できます。たとえば、次のコードを使用して、$person
オブジェクトを JSON 文字列に変換できます。
$person_json = json_encode($person);
上記のコードは、$person
オブジェクトを JSON 文字列に変換します。文字列と結果は $person_json
変数に保存されます。結果は次のようになります。
{"name":"张三","age":21}
JSON 文字列を配列に変換
PHP では、json_decode()
関数を使用して JSON 文字列を配列に変換できます。たとえば、次のコードを使用して、前の手順で取得した $person_json
JSON 文字列を配列に変換できます。
$person_array = json_decode($person_json, true);
上記のコードは、$person_json## を変換します。 # JSON 文字列を配列に変換し、結果を
$person_array 変数に保存します。
true の場合、
json_decode() はオブジェクトの代わりに連想配列を返すことに注意してください。したがって、
$person_array 変数の値は次のようになります。
[ 'name' => '张三', 'age' => 21, ]
json_decode()
関数を使用して、JSON 文字列をオブジェクトに変換することもできます。たとえば、次のコードを使用して、$person_json JSON 文字列を
Person オブジェクトに変換できます。
$person_obj = json_decode($person_json);
上記のコードは、
$ を変換します。 person_json JSON 文字列は person オブジェクトに変換され、結果は
$person_obj 変数に格納されます。
2 番目のパラメータが
false
json_decode() はクラスが定義されていないオブジェクトを返すことに注意してください。したがって、デフォルトでは、
$person_obj 変数の型は
stdClass であり、オブジェクトのプロパティには次のようにアクセスできます。
$person_name = $person_obj->name; $person_age = $person_obj->age;
配列をJSON 文字列
PHP では、json_encode()
関数を使用して配列を JSON 文字列に変換することもできます。たとえば、次のコードを使用して、$person_array 配列を JSON 文字列に変換できます。
$person_array_json = json_encode($person_array);
上記のコードは、
$person_array 配列を JSON に変換します。文字列と結果は $person_array_json 変数に保存されます。前の手順と同様に、
$person_array_json の値は次のとおりです。
{"name":"张三","age":21}
配列をオブジェクト array に変換します
PHP では、json_decode( )
関数は JSON 文字列を配列に変換します。この配列に複数の要素が含まれている場合、foreach を使用して要素を反復処理し、オブジェクトに変換できます。
たとえば、次の JSON 文字列を使用して、複数の
Person
[ {"name":"张三","age":21}, {"name":"李四","age":22}, {"name":"王五","age":23} ]
この JSON 文字列をオブジェクト配列に変換するには、次のコードを使用できます。コード:
$persons_array = json_decode($persons_json); $persons = []; foreach ($persons_array as $person_data) { $person = new Person(); $person->name = $person_data->name; $person->age = $person_data->age; $persons[] = $person; }
json_decode()
関数を使用して$persons_json JSON 文字列を配列に変換します。次に、空の配列
$persons を定義し、
foreach を使用して
$persons_array 内の要素、つまり各
person をループします。オブジェクト データ。
$person_data ごとに、新しい
Person オブジェクトを作成し、そのプロパティ値を
$person_data 内の対応する値に設定します。その後、オブジェクトを
$persons 配列に追加すると、複数の
Person オブジェクトを含む配列が作成されます。
結論
以上がPHP でオブジェクトを取得し、データ型を変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。