(PHP 5 >= 5.1.0, PHP 7, PHP 8)
property_exists — オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる
この関数は、与えられたプロパティ property が
指定されたクラスに存在するかどうかを確認します。
注意:
isset() とは対照的に、 プロパティの値が
nullの場合でも property_exists() はtrueを返します。
object_or_class確認するクラス名、もしくはクラスのオブジェクトを指定します。
propertyプロパティ名を指定します。
例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')); //true
var_dump(property_exists('myClass', 'bar')); //false
var_dump(property_exists('myClass', 'test')); //true
myClass::test();
?>注意:
この関数を使うと、未知のクラスに対しては登録済みの autoloader を使用します。
注意:
property_exists() 関数は、マジックメソッド
__getを使ってアクセスするプロパティを検出することはできません。