3

我在 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 )

?

4

2 回答 2

8
$b = array();
foreach($query->result_array() as $a) {
   $b[] = $a['id'];
}
return $b;

如果您每次选择一列时都懒得添加几行,则需要调整 Codeigniter。就像选择单列时添加一些选项或返回扁平数组一样。我建议添加一个选项

于 2012-09-22T17:20:02.633 回答
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 )

于 2014-09-02T07:56:13.600 回答