PHP では、オブジェクトを配列に変換できます。使いやすいようにオブジェクト内のプロパティを配列に変換する必要があることが多いため、この型変換は非常に一般的です。この記事では、PHP におけるオブジェクトと配列の間の型変換について説明し、一般的に使用されるメソッドをいくつか紹介します。
PHP では、get_object_vars()
関数を使用してオブジェクトを配列に変換します。この関数は、オブジェクトのプロパティとプロパティ値を含む配列を返します。キーはプロパティ名、値はプロパティ値です。たとえば、複数のプロパティを持つオブジェクトを定義し、それを配列に変換できます。
class Person { public $name = ''; public $age = ''; public $email = ''; } $person = new Person(); $person->name = 'Jack'; $person->age = 25; $person->email = 'jack@example.com'; $person_array = get_object_vars($person); print_r($person_array);
出力は次のようになります。
Array ( [name] => Jack [age] => 25 [email] => jack@example.com )
上に示すように、 人を作成します。
オブジェクトと 3 つのプロパティ (name
、age
、email
) が設定されています。次に、get_object_vars()
関数を使用して、このオブジェクトを配列に変換します。
配列をオブジェクトに変換することもできます。この操作を実現するには、PHP で (object)
型変換を使用します。このメソッドは連想配列で動作し、配列のキーがオブジェクトのプロパティ名になり、配列の値がオブジェクトのプロパティ値になります。
$data = array( 'name' => 'Tom', 'age' => 22, 'email' => 'tom@example.com' ); $person = (object) $data; print_r($person);
出力結果は次のとおりです。
stdClass Object ( [name] => Tom [age] => 22 [email] => tom@example.com )
上に示すように、連想配列 $data
を作成し、(object)# を使用しました。 ## 関数を使用してオブジェクトに変換します。変換後に取得されるオブジェクト型は
stdClass で、これは組み込みの標準型です。
$data = '{"name":"Tom","age":22,"email":"tom@example.com"}'; $person = json_decode($data); $person_array = get_object_vars($person); $person_array['age'] = 23; $person = (object) $person_array; echo json_encode($person);
{"name":"Tom","age":23,"email":"tom@example.com"}
json_decode() 関数を使用して JSON 形式の文字列をオブジェクトに変換します。次に、オブジェクトを配列
$person_array に変換し、その中の値を変更します。最後に、
(object) 型変換を使用して、変更された配列をオブジェクトに再変換し、
json_encode() 関数を使用してオブジェクトを JSON 文字列形式にシリアル化します。
get_object_vars() 関数を使用してオブジェクトを配列に変換し、
(object) 型変換を使用して配列をオブジェクトに変換します。この型変換は非常に実用的で、多くのプロジェクトで使用できます。 PHP でオブジェクトと配列を変換する必要がある場合は、これらのメソッドが役立つはずです。
以上がPHP におけるオブジェクトと配列の間の型変換について説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。