这是我的代码:

<?php

$madeUpObject = new \stdClass();
$madeUpObject->madeUpProperty = "abc";

echo $madeUpObject->madeUpProperty;
echo "<br />";

if (property_exists('stdClass', 'madeUpProperty')) {
    echo "exists";
} else {
    echo "does not exist";
}
?>

输出为:

abc
不存在


那么为什么这行不通呢?

最佳答案

尝试:

if( property_exists($madeUpObject, 'madeUpProperty')) {

指定类名(而不是像我那样做的对象)意味着在stdClass定义中,需要定义属性。

您可以从this demo看到它打印:
abc
exists

关于php - 为什么我不能在stdClass上调用property_exists?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14655036/

10-12 16:10