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