带 $ 的 PHP 对象访问语法问题

标签 php syntax

我在寻找这个答案时遇到了困难,因为我不太确定如何表达它。我是 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/

相关文章:

php - Laravel 删除没有 'id' 的行

syntax - Jenkins - 每月或每周构建工作

python - 高级嵌套列表理解语法

jquery - 使用 jquery 选择文本框值,修改选择器语法

syntax - 为模块定义 TypeScript 类型会给出 TS2665?

ruby - 如何自动命名哈希中的符号?

php - 如何在 codeigniter 中插入零行

php - 有没有办法加载某个 html 元素并使用 PHP 显示该元素中的一定数量的字符?

php - 更改列编码 mysql 以显示为阿拉伯语言

php - MYSQL/PHP 在保持数字顺序的同时向上或向下移动对象的顺序