如何在mysql查询后收到索引数组?或者有没有方法将$this->db->get()
转换为mysql资源?或者将关联数组转换为索引?
答案 0 :(得分:5)
PHP有一个函数array_values()
,它将返回一个只包含值的数组。
答案 1 :(得分:0)
看起来您可能正在使用PHP CodeIgniter。 CodeIgniter的DB实现不支持索引结果数组,您必须在对象或关联数组之间进行选择。
这样做是为了使您的查询更易于维护,因为返回的数字索引更难以调试和维护。
答案 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
)