property_exists
(PHP 5 >= 5.1.0, PHP 7)
property_exists — オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる
説明
property_exists
( mixed $class
, string $property
) : bool
この関数は、与えられたプロパティ property
が
指定されたクラスに存在するかどうかを確認します。
注意:
isset() とは対照的に、 プロパティの値が
null
の場合でも property_exists() はtrue
を返します。
パラメータ
class
- 確認するクラス名、もしくはクラスのオブジェクトを指定します。
property
- プロパティ名を指定します。
返り値
プロパティが存在している場合は true
、存在していない場合に false
、
エラー時には null
を返します。
注意
注意:
この関数を使うと、未知のクラスに対しては登録済みの autoloader を使用します。
注意:
property_exists() 関数は、マジックメソッド
__get
を使ってアクセスするプロパティを検出することはできません。
例
例1 property_exists() の例
<?phpclass myClass { public $mine; private $xpto; static protected $test; static function test() { var_dump(property_exists('myClass', 'xpto')); //true }}var_dump(property_exists('myClass', 'mine')); //truevar_dump(property_exists(new myClass, 'mine')); //truevar_dump(property_exists('myClass', 'xpto')); //PHP 5.3.0 以降では truevar_dump(property_exists('myClass', 'bar')); //falsevar_dump(property_exists('myClass', 'test')); //PHP 5.3.0 以降では truemyClass::test();?>