如何查询数组

时间:2013-10-11 05:33:06

标签: php codeigniter

我想为每个type获取出现的次数。您可以在图像中看到它们位于差异位置,这是基于我正在进行的COUNT查询来获取数据。

enter image description here

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

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

我在想我可以通过简单的foreach循环获取数据,但显然我不能。除了使用switch语句之外,还有一些秘密的伏都魔法来获取数据吗?

3 个答案:

答案 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;
        }
    }
}