PHP では通常、データを渡して処理する必要があります。データを処理するときは、オブジェクトを配列オブジェクトに変換する必要があります。 PHP は、これを行うための非常に便利なメソッドを提供します。
PHP では、get_object_vars
関数を使用してオブジェクトを配列オブジェクトに変換できます。この関数はオブジェクトをパラメータとして受け取り、オブジェクトのすべてのメンバー変数とそれらに対応する値を含む配列を返します。
次は、get_object_vars
関数を使用してオブジェクトを配列オブジェクトに変換する例です。
class Person { public $name = "John"; public $age = 30; private $gender = "Male"; } $person = new Person(); $array = get_object_vars($person); print_r($array);
出力結果:
Array ( [name] => John [age] => 30 )
As you上記のコードからわかるように、get_object_vars
関数を使用して、Person
クラスのインスタンス$person
を配列$array# に変換します。 ##。配列
$arrayには、メンバー変数
nameおよび
ageとそれらに対応する値が含まれます。
get_object_vars関数を使用して取得できないことに注意してください。上の例では、プライベート メンバー変数
genderの値は配列内の要素に変換されません。
__get関数を使用できます。この関数は、オブジェクトのプライベート メンバー変数とその対応する値を取得するために使用されます。
__get関数を使用して、オブジェクトのプライベート メンバー変数を配列オブジェクトに変換する例です。
class Person { public $name = "John"; public $age = 30; private $gender = "Male"; public function __get($property) { if (property_exists($this, $property)) { return $this->$property; } } } $person = new Person(); $array = array(); foreach ($person as $key => $value) { $array[$key] = $value; } print_r($array);
Array ( [name] => John [age] => 30 [gender] => Male )
__get関数を使用して、オブジェクト
$person## のプライベート メンバー変数gender
の値を取得します。 # それを配列内の$ array
に追加します。最後に、$array
配列の内容を出力しました。プライベート メンバー変数gender
の値も配列の要素に正常に変換されたことがわかります。概要:
PHP では、
get_object_vars関数を使用してオブジェクトを配列オブジェクトに変換できます。この関数は、オブジェクトのパブリック メンバー変数とそれに対応する値を簡単に取得できます。ただし、オブジェクトのプライベート メンバー変数の値を取得する必要がある場合は、PHP アクセス制御構文で__get
関数を使用してそれを実現する必要があります。
以上がPHPはオブジェクトを配列オブジェクトに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。