クラス/オブジェクト関数
PHP Manual

get_object_vars

(PHP 4, PHP 5)

get_object_vars指定したオブジェクトのプロパティを取得する

説明

array get_object_vars ( object $object )

指定した object について、 そのスコープ内でアクセス可能な非 static プロパティを取得します。

パラメータ

object

オブジェクトのインスタンス。

返り値

指定したオブジェクト object について、 そのスコープ内でアクセス可能な非 static プロパティを連想配列として返します。 プロパティに値が設定されていない場合は、NULL 値が返されます。

変更履歴

バージョン 説明
5.3.0 object がオブジェクトではない場合に NULL を返すようになりました。
5.3.0 より前 object がオブジェクトではない場合、 get_object_vars()FALSE を返します。
4.2.0 より前 object をインスタンスとするクラスで宣言された変数が 値を持っていない場合、それらの変数は配列では返されません。

例1 get_object_vars() の使用例

<?php

class foo {
    private 
$a;
    public 
$b 1;
    public 
$c;
    private 
$d;
    static 
$e;
   
    public function 
test() {
        
var_dump(get_object_vars($this));
    }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

上の例の出力は以下となります。

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

参考


クラス/オブジェクト関数
PHP Manual