property_exists

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

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

説明

property_exists(object|string $object_or_class, string $property): bool

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

注意:

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

パラメータ

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() - クラスメソッドが存在するかどうかを確認する