PHPオブジェクトを配列に変換の方法
オブジェクトを配列に変換するには、get_object_vars()というオブジェクトのビルトインメソッドを使用できます。このメソッドはアソシアティブ配列としてオブジェクトのプロパティを返します。
以下に例を示します:
class Person {
public $name;
public $age;
public $gender;
}
$person = new Person();
$person->name = "John";
$person->age = 25;
$person->gender = "male";
$array = get_object_vars($person);
print_r($array);
出力を出す:
Array
(
[name] => John
[age] => 25
[gender] => male
)
挙げた例では、Personというクラスを作成し、オブジェクト$personをインスタンス化しています。その後、get_object_vars()メソッドを使って、オブジェクトを配列に変換し、結果を$array変数に格納しています。最後に、print_r()関数によって配列の内容を出力しています。
オブジェクトの公開プロパティのみを取得するget_object_vars()メソッドことにご留意ください。
プライベート・プロテクトプロパティは配列に含まれません。
すべてのプロパティを配列に変換する場合は、オブジェクトの__toArray()メソッド、またはオブジェクトを配列に強制的に型変換する$array = (array) $object;を使用できます。