get_object_vars: 指定したオブジェクトのプロパティを取得する (クラス/オブジェクト関数) - PHPプロ!マニュアル

PHPマニュアル

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

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マニュアル



Pick Up Q&A

Q
マジッククォートとmysql_real_escape_string
 このエントリーをはてなブックマークに追加 
A
magic_quotes_gpcでは、SQLインジェクション対処は十分できません。主な理由として、以下が上げられます。 ・magic_quotes_gpcは文字コードを考慮しないで処理するので、Shift_JISを使っている場合、SQLインジェ...

>>続きを読む

SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)