property_exists

オブジェクトもしくはクラスにプロパティが存在するかどうかを調べる

説明

bool property_exists(objectstring $object_or_class, string $property)

この関数は、与えられたプロパティ property が 指定されたクラスに存在するかどうかを確認します。

注意:

isset とは対照的に、 プロパティの値が null の場合でも property_existstrue を返します。

パラメータ

object_or_class

確認するクラス名、もしくはクラスのオブジェクトを指定します。

property

プロパティ名を指定します。

戻り値

プロパティが存在している場合は true、存在していない場合に false を返します。

例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 を使ってアクセスするプロパティを検出することはできません。

参考

  • method_exists