我想知道以下是否可行。我们有一个使用链式方法设计的类。
$CarClass = $CarConnection->models->count();
在上面的例子中,我们正在计算模型。但是,想要动态地做。例如:
$CountArray = array('models','brands','countries');
foreach($CountArray AS $key => $value){
$CarData[$value] = $CarConnection->$value->count();
}
然而,这会输出一个错误:“调用非对象中的成员函数count()”虽然我很确定计数存在,因为前面提到的函数正在工作。
一些谷歌搜索导致添加括号{},但这也不起作用。
$CarData[$value] = $CarConnection->{$value}->count();
任何一个解决方案?
亲切的问候,
彼得
答案 0 :(得分:1)
我可以在循环中发现语法错误: 应该去 -
$CountArray = array('models','brands','countries');
foreach($CountArray as $key => $value){
$CarData[$value] = $CarConnection->$value->count();
}
而且,你拥有的数组不是关联数组。所以你不需要$ key! 试试这个:
foreach($CountArray as $value) {
$CarData[$value] = $CarConnection->{$value}->count();
}