我在Codeigniter中使用查询来返回属于用户的所有行的ID。
$this->db->select('id');
$this->db->where('user_id', 99);
$query = $this->db->get('my_table');
return $query->result_array();
返回
Array ( [0] => Array ( [id] => 8 ) [1] => Array ( [id] => 7 ) [2] => Array ( [id] => 6 ) )
是否可以返回像
这样的平面数组Array ( [0] => 8 [1] => 6 [2] => 7 )
答案 0 :(得分:7)
$b = array();
foreach($query->result_array() as $a) {
$b[] = $a['id'];
}
return $b;
如果您每次选择一列时都懒得添加几行,则需要调整Codeigniter。就像添加一些选项或选择单列时返回展平数组一样。我会sugest添加一个选项
答案 1 :(得分:0)
以下可以是另一种方式。我不知道它比接受的答案有什么好处。
我们假设您正在$result
存储函数的输出。然后你可以这样做:
array_unshift($result, null);
$transposed = call_user_func_array("array_map", $result);
print_r($transposed);
会打印
数组([0] =>数组([0] => 8 [1] => 6 [2] => 7))
你可以通过$ transposed [0]
访问你想要的内容数组([0] => 8 [1] => 6 [2] => 7)