そのまんま!

get_object_vars

(PHP 4, PHP 5)

get_object_vars -- オブジェクトのプロパティを取得する

説明

array get_object_vars ( object object )

指定した object のプロパティを取得します。

パラメータ

object

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

返り値

指定したオブジェクト object のプロパティを連想配列として返します。プロパティに値が設定されていない場合は、 NULL 値が返されます。

変更履歴

バージョン説明
4.2.0 より前 object をインスタンスとするクラスで宣言された変数が 値を持っていない場合、それらの変数は配列では返されません。

例 1. get_object_vars() の使用例

<?php
class Point2D {
    var
$x, $y;
    var
$label;

    function
Point2D($x, $y)
    {
        
$this->x = $x;
        
$this->y = $y;
    }

    function
setLabel($label)
    {
        
$this->label = $label;
    }

    function
getPoint()
    {
        return array(
"x" => $this->x,
                     
"y" => $this->y,
                     
"label" => $this->label);
    }
}

// "$label" は宣言されていますが、未定義です。
$p1 = new Point2D(1.233, 3.445);
print_r(get_object_vars($p1));

$p1->setLabel("point #1");
print_r(get_object_vars($p1));

?>

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

Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] =>
 )

 Array
 (
     [x] => 1.233
     [y] => 3.445
     [label] => point #1
 )

参考

get_class_methods()
get_class_vars()