1

我想获得每个type的出现次数。您可以在图像中看到它们基于我为获取数据而执行的 COUNT 查询定位在不同的位置。

在此处输入图像描述

我正在使用 CodeIgniter,这是我当前的代码,但它不起作用。

foreach ($query->result() as $row) {
    $num = $row->type;
    $returndata[] = array(
        'type' => $row->type,
        'num' => $row->TYPE.$num
    );
} 

我在想我可以通过一个简单的 foreach 循环来获取数据,但显然我做不到。除了使用 switch 语句之外,是否有一些秘密的巫术魔法来获取数据?

4

3 回答 3

2

'num' => $row->TYPE.$num并没有完全按照您的想法进行,因为这不是访问具有动态名称的字段的正确方法。实际上,您设置为appended numto 的值。$num$row->TYPE

要处理动态对象属性名称,您需要将名称括在括号中:

'num' => $row->{'TYPE'.$num}
于 2013-10-11T05:38:25.693 回答
0
foreach($query->result_array() as $row){

$num = $row["type"];
                    $returndata[] = array(
                        'type' => $row["type"],
                        'num' => $row["TYPE"].$num
                    );

                } 
于 2013-10-11T05:43:35.127 回答
0
$returndata = [];
foreach($query->result() as $row){
    for ($i=1; $i <= 11; $i++)
    {
        if($value = $row->{'TYPE'.$i})
        {
            $returndata[$row->type] = $value;
        }
    }
}
于 2013-10-11T05:47:03.853 回答