为什么可以呢
foreach ($items as $i) {
$dataTitle = $this->dataTitle;
$title = $i->$dataTitle;
}
当这不是?
foreach ($items as $i) {
$title = $i->$this->dataTitle;
}
有更好的方法吗?
试试这个:
$title = $i->{$this->dataTitle};
你的表达式被解析为:
$title = ($i->$this)->dataTitle;
$this
指的是按不明显顺序解析的当前对象。您需要使用{expr}
符号,来动态计算属性名称。
尝试在$this->dataTitle
周围使用{}
:
$title = $i->{$this->dataTitle};
查看手册变量部分最后一个例子的底部。