PHPはオブジェクトを配列オブジェクトに変換します

王林
リリース: 2023-05-11 09:49:06
オリジナル
492 人が閲覧しました

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の値は配列内の要素に変換されません。

クラスのプライベート メンバー変数を取得する必要がある場合は、PHP アクセス制御構文で

__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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!