如果我在运行时计算名称,如何按名称访问对象的属性?
例如。我遍历键并想要获取属性 "field_"的每个值。 $键
。
在 python 中有 getattribute(myobject, attrname)
。
当然,它适用于 eval("$val=$myobject->".$myattr.";");
但 IMO 这很丑陋 - 有更清洁的方法吗?
最佳答案
请记住,PHP 的一个非常强大的特性是它的 Variable Variables
你可以使用
$attr = 'field' . $key;
$myobject->$attr;
或者更简洁,使用大括号
$myobject->{'field_'.$key};
关于PHP 对象 : get value of attribute by computed name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2537028/