我在寻找这个答案时遇到了困难,因为我不太确定如何表达它。我是 PHP 新手,但仍处于起步阶段。我正在编写一个页面,其中包含一个具有属性名称的类。当我最初编写页面时,没有类,所以我只有一个名为 $name
的变量。当我将它封装在一个类中时,我不小心将其更改为 $myClass->$name
。我花了一段时间才意识到我需要的语法是 $myClass->name
。花了这么长时间的原因是我不断收到的错误是“尝试访问空属性”或类似的内容。这个错误让我相信这是一个数据填充错误。
我的问题是 $myClass->$name
有有效的含义吗?换句话说,您是否会在某个时候使用它以及它不会产生语法错误的原因?如果是的话,该代码的语义是什么?如果有效的话我什么时候可以使用它?如果它无效,是否有理由不产生语法错误?
最佳答案
是的。
$name = "bar";
echo $myClass->$name; //the same as $myClass->bar
我同意错误消息不是很有帮助。
关于带 $ 的 PHP 对象访问语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005595/