CodeIgniter在查询时索引数组

时间:2011-10-24 15:10:58

标签: php arrays codeigniter

如何在mysql查询后收到索引数组?或者有没有方法将$this->db->get()转换为mysql资源?或者将关联数组转换为索引?

3 个答案:

答案 0 :(得分:5)

PHP有一个函数array_values(),它将返回一个只包含值的数组。

http://it.php.net/manual/en/function.array-values.php

答案 1 :(得分:0)

看起来您可能正在使用PHP CodeIgniter。 CodeIgniter的DB实现不支持索引结果数组,您必须在对象或关联数组之间进行选择。

这样做是为了使您的查询更易于维护,因为返回的数字索引更难以调试和维护。

Code Igniter User Guide - database results

答案 2 :(得分:0)

将codeigniter result_array转换为索引数组的示例:

$query = $this->db->query("SELECT `tag_id` FROM `tags`");
$arr = $query>result_array();
print_r($arr); //codeigniter default result array

//Output:

Array
(
 [0] => Array
    (
        [tag_id] => 1
    )

 [1] => Array
    (
        [tag_id] => 3
    )
)

现在,如果要将上面的数组转换为索引数组,则必须使用array_column()函数,该函数通过将数组键作为参数将其关联数组转换为索引数组,请参见以下示例:

$query = $this->db->query("SELECT `tag_id` FROM `tags`");
$tags = $query>result_array();
$arr = array_column($tags, "tag_id");
print_r($arr); //converted indexed array

//Output:

Array
(
 [0] => 1

 [1] => 3
)