检查 PHP 中是否存在某个属性

Rana Hasnain Khan 2024年2月15日
  1. 使用 property_exists() 检查 PHP 中是否存在属性
  2. 使用 isset() 检查 PHP 中是否存在属性
  3. 结论
检查 PHP 中是否存在某个属性

PHP 为我们提供了两个简单的解决方案,我们可以使用它们来检查对象中是否存在特定属性,然后执行特定的代码。

本文将介绍这两种方法来检查 PHP 中的对象或类中是否存在属性。

使用 property_exists() 检查 PHP 中是否存在属性

property_exists() 方法检查对象或类是否具有属性。它有两个参数,对象和属性。

让我们通过一个例子来检查一个特定的属性是否存在。所以让我们创建一个具有两个属性的对象,如下所示。

# php
$obj = (object) array('a' => 1, 'b' => 2);

现在,让我们检查一下这个对象中是否存在属性 c,如下所示。

# php
$obj = (object) array('a' => 1, 'b' => 2);
if(property_exists($obj, 'c')){
    echo "Property C Exists";
}
if(property_exists($obj, 'b')){
    echo "Property B Exists";
}

输出:

检查 PHP 示例中是否存在属性

上面的例子中存在属性 b,我们得到了上面的结果。

使用 isset() 检查 PHP 中是否存在属性

PHP 中的 isset() 函数检查是否设置了变量或变量是否存在。我们可以使用 isset() 函数来检查对象是否声明了特定的属性。

该函数与 property_exists() 略有不同,因为它返回 true 或 false。

让我们用我们实现 property_exists() 的相同场景来实现 isset() 函数。

# php
if(isset($obj->c)){
    echo "Property C Exists";
}
if(isset($obj->b)){
    echo "Property B Exists";
}

输出:

检查 PHP 示例中是否存在属性

如你所见,它返回的结果与 property_exists() 函数相同。

结论

因此,在本教程中,我们了解了 PHP 中的两个内置函数,它们可用于检查对象属性是否存在,如果存在则执行某段代码。我们还了解了 isset()property_exists() 函数之间的区别。

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn