我正在制作一个通用 php 类,它将值从数据库自动加载到对象中
要设置属性,我使用这个:
$object->$propertyName = $valueFromDB;
其中propertyName的值来自mysql字段名..
现在我想以类似的方式将一些东西推送到数组上:
这有效..
$object->$arryName = array();
但这不..
$object->$arryName[] = "test";
我该如何解决这个问题?
我正在制作一个通用 php 类,它将值从数据库自动加载到对象中
要设置属性,我使用这个:
$object->$propertyName = $valueFromDB;
其中propertyName的值来自mysql字段名..
现在我想以类似的方式将一些东西推送到数组上:
这有效..
$object->$arryName = array();
但这不..
$object->$arryName[] = "test";
我该如何解决这个问题?
$object->{$arryName}[] = "test"
花括号改变了操作的顺序,并使 PHP 在硬括号之前计算变量名。
如果你想做一个关联数组,这会变得有点复杂:
$object->{$arryName}[$keyname] = "test"
在这种情况下,您可以在 $keyname 周围放置花括号,但这完全是可选的。
在相关的说明中.. 变量变量通常 -但不总是- 是一些古怪的迹象。对于那些必须调试、重构、进行任何 grepping 等的追随者来说,它们也是一种痛苦。如果你必须使用它们,很好,但请确保你已经考虑了后果。