array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'en', ), 'this' => array ( 0 => 'function.property-exists.php', 1 => 'property_exists', ), 'up' => array ( 0 => 'ref.classobj.php', 1 => 'Classes/Object Functions', ), 'prev' => array ( 0 => 'function.method-exists.php', 1 => 'method_exists', ), 'next' => array ( 0 => 'function.trait-exists.php', 1 => 'trait_exists', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/classobj/functions/property-exists.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
property_exists — Checks if the object or class has a property
This function checks if the given property
exists in
the specified class.
Note:
As opposed with isset(), property_exists() returns
true
even if the property has the valuenull
.
object_or_class
The class name or an object of the class to test for
property
The name of the property
Example #1 A property_exists() example
<?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();
?>
Note:
Using this function will use any registered autoloaders if the class is not already known.
Note:
The property_exists() function cannot detect properties that are magically accessible using the
__get
magic method.