小编典典

PHP检查对象或类中是否存在属性

all

我了解 PHP 没有纯对象变量,但我想检查属性是否在给定的对象或类中。

$ob = (object) array('a' => 1, 'b' => 12);

或者

$ob = new stdClass;
$ob->a = 1;
$ob->b = 2;

JS 中, 我可以这样写来检查a对象中是否存在变量:

if ('a' in ob)

PHP 中, 可以做这样的事情吗?


阅读 100

收藏
2022-06-22

共1个答案

小编典典

[property_exists( 混合 $class , string $property

)](http://php.net/manual/en/function.property-exists)

if (property_exists($ob, 'a'))

[isset( 混合 $var [, 混合 $… ]

)](http://php.net/manual/en/function.isset.php)

注意 :请注意, 如果属性为 null,isset() 将返回 false

if (isset($ob->a))

示例 1:

$ob->a = null
var_dump(isset($ob->a)); // false

示例 2:

class Foo
{
   public $bar = null;
}

$foo = new Foo();

var_dump(property_exists($foo, 'bar')); // true
var_dump(isset($foo->bar)); // false
2022-06-22