PHP 对象和类中的属性存在验证
PHP 本身不支持纯对象变量检查。本题探讨了确定 PHP 对象或类中是否存在某个属性的方法。
Property_exists() 函数
property_exists() 函数接受两个参数:类名称或对象实例以及要检查的属性名称。如果指定目标中存在该属性,则函数返回 true,否则返回 false。
示例:
<code class="php">$ob = (object) array('a' => 1, 'b' => 12); if (property_exists($ob, 'a')) { echo "Property 'a' exists in the object."; }</code>
Isset() 函数
isset() 函数也可用于检查属性是否存在。但请注意,如果属性显式设置为 null,它将返回 false。
示例:
<code class="php">$ob->a = null; if (isset($ob->a)) { echo "Property 'a' exists in the object, but is set to null."; } else { echo "Property 'a' does not exist in the object."; }</code>
property_exists() 和 isset() 之间的区别
property_exists() 检查声明的属性是否存在,无论其值如何。 isset() 检查属性是否存在以及值是否不为空。
演示差异的示例:
<code class="php">class Foo { public $bar = null; } $foo = new Foo(); var_dump(property_exists($foo, 'bar')); // true var_dump(isset($foo->bar)); // false</code>
以上是如何验证 PHP 对象和类中的属性是否存在?的详细内容。更多信息请关注PHP中文网其他相关文章!