如何在CodeIgniter中处理结果数组

时间:2011-04-28 22:24:13

标签: codeigniter

这是我的模特。我不确定我是否走在正确的轨道上,但这是一个开始。我的网站上有一个调查表,所有值都是INT字段中的数字。我想计算10列中每一列的平均值。我不想单独计算每个结果,而是想知道是否有办法使用循环来处理结果。所以这就是:

function survey_averages() {

        $q = array(
                    '1' => 'q1',
                    '2' => 'q2',
                    '3' => 'q3',
                    '4' => 'q4',
                    '5' => 'q5',
                    '6' => 'q6',
                    '7' => 'q7',
                    '8' => 'q8',
                    '9' => 'q9',
                    '10' => 'q10'
                    );


        for ($i=1; $i<11; $i++) {
            $this->db->select_avg($q[$i]);
            $query[$i] = $this->db->get('survey');
        }

        return $query;

    }

如果我在正确的轨道上,那么如何取回阵列的结果呢?如果我走错了路,我需要改变什么?另外,如果我在我的控制器中执行此操作:

foreach($query->result_array() as $row) {

如何返回数组的行? PHP不允许我执行$ row-&gt; 1或$ row-&gt;'1'。

2 个答案:

答案 0 :(得分:0)

尝试var_dump($query->result_array())

答案 1 :(得分:0)

取代

$query[$i] = $this->db->get('survey');

$query[$i] = $this->db->get('survey')->result_array();

然后,为了处理模型的结果,你应该这样做:

foreach( $query as $result )
   foreach( $result as $row ){
      // process $row
   }