【发布时间】:2017-06-21 03:37:10
【问题描述】:
也许有人可以帮助解释这个匿名对象的奇怪行为:
$equipTest = (object) [
$leakageLimit = "",
$description = "",
$location = "",
$text = "",
];
$description = "";
在下面的循环中,我可以毫无问题地为$leakageLimit 赋值。
$equipTest->leakageLimit = $temp;
但$location 不会让我在没有错误/通知的情况下连接它:
$equipTest->location .= $temp;
结果:
注意(8):未定义属性:
stdClass::$location
就像 $equipTest->description 所做的那样,直到我在循环外声明了一个临时变量。我将值分配给循环中的临时描述:
$description .= $temp;
然后在循环结束时将其分配给对象:
$equipTest->$description = $description;
为什么我不能连接到这个匿名对象?之前我把它作为一个完全声明的类的一部分是可以的。
【问题讨论】:
-
以
print_r($equipTest)开头我打赌你会感到惊讶 -
如何用php7创建匿名对象。查看这些链接:wiki.php.net/rfc/anonymous_classesstackoverflow.com/questions/6384431/…