(PHP 5 >= 5.1.0, PHP 7, PHP 8)
property_exists — Проверяет, содержит ли объект или класс указанный атрибут
$object_or_class
, string $property
): bool
Функция проверяет, существует ли атрибут property
в указанном классе.
Замечание:
В противоположность isset(), property_exists() возвращает
true
, даже если свойство имеет значениеnull
.
object_or_class
Имя класса или объект класса для проверки
property
Имя свойства
Возвращает true
, если свойство существует, false
, если оно не существует, или null
в случае возникновения ошибки.
Пример #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();
?>
Замечание:
Вызов этой функции будет использовать все зарегистрированные функции автозагрузки, если класс ещё не известен.
Замечание:
Функция property_exists() не определяет магически доступные свойства с помощью метода
__get
.