我想为每个type
获取出现的次数。您可以在图像中看到它们位于差异位置,这是基于我正在进行的COUNT查询来获取数据。
我正在使用CodeIgniter,这是我当前的代码,但它不起作用。
foreach ($query->result() as $row) {
$num = $row->type;
$returndata[] = array(
'type' => $row->type,
'num' => $row->TYPE.$num
);
}
我在想我可以通过简单的foreach循环获取数据,但显然我不能。除了使用switch语句之外,还有一些秘密的伏都魔法来获取数据吗?
答案 0 :(得分:2)
'num' => $row->TYPE.$num
并没有完全按照您的想法行事,因为这不是访问具有动态名称的字段的正确方法。实际上,您要将num
设置为$num
附加的$row->TYPE
值。
要处理动态对象属性名称,需要将名称括在括号中:
'num' => $row->{'TYPE'.$num}
答案 1 :(得分:0)
foreach($query->result_array() as $row){
$num = $row["type"];
$returndata[] = array(
'type' => $row["type"],
'num' => $row["TYPE"].$num
);
}
答案 2 :(得分:0)
$returndata = [];
foreach($query->result() as $row){
for ($i=1; $i <= 11; $i++)
{
if($value = $row->{'TYPE'.$i})
{
$returndata[$row->type] = $value;
}
}
}