Foreach中的数组(CodeIgniter)

时间:2015-06-22 17:40:21

标签: php arrays codeigniter foreach

我想在foreach循环中使用数组但是失败了,这是我的代码:

foreach($this->db->get_where('mytable', array('result' => '1 or 2', 'id' => 'foo'))->result_array() 

我认为'result' => '1 or 2'篇有问题,但我无法找到如何在这种foreach中使用数组。

我想说SELECT * WHERE RESULT = 1 OR 2, ID = FOO IN MYTABLE

提前致谢。

3 个答案:

答案 0 :(得分:3)

您可以使用以下活动记录。

$arrResult = $this->db
->where('id','foo')
->where_in('result',array(1,2))
// alternative to above condition
//->where('(result = 1 OR result = 2)') 
->get('mytable')
->result_array();

foreach($arrResult as $result){
    // run code based on $result;
}

答案 1 :(得分:0)

我不知道codeigniter如何,但你的foreach看起来不对。

尝试:

$resultArray = $this->db->get_where('mytable', array('result' => '1 or 2', 'id' => 'foo')->result_array();
foreach($resultArray  as $result){
    // run code based on $result;
}

这是foreach陈述应该看的方式。

从codeigniter手册

我得到了这个database manual

$this->db->select('*');
$this->db->from('mytable');
$where = "ID = FOO and RESULT = 1 OR RESULT = 2";
$this->db->where($where);
$resultArray = $this->db->result_array();
foreach($resultArray as $result){
    // run code based on $result;
}

答案 2 :(得分:0)

如果你这样做会更干净:

$result = $this->db->where('id', 'foo')->where_in('result', array(1, 2))->get('mytable')->result_array();

foreach($result as $r) {

}