Php 如何在CodeIgniter中以数组的形式获取查询结果?

Php 如何在CodeIgniter中以数组的形式获取查询结果?,php,arrays,Php,Arrays,我正在编程一个算法,用CodeIgniter在我的web应用程序上搜索产品,但我有一个特殊的问题;使用CodeIgniter数据库的查询结果返回一个对象对象(CI\u DB\u mysqli\u result) 我想知道的是如何将结果转换为结果数组 我知道我可以使用row\u array(),但这会给我第一个SQL结果的数组,我想要一个SQL结果的数组(值得冗余) 还知道我可以使用result\u array()来执行foreach,但该选项一次只能给出一个结果,因此我必须声明一个数组变量并在每

我正在编程一个算法,用CodeIgniter在我的web应用程序上搜索产品,但我有一个特殊的问题;使用CodeIgniter数据库的查询结果返回一个对象
对象(CI\u DB\u mysqli\u result)

我想知道的是如何将结果转换为结果数组

我知道我可以使用
row\u array()
,但这会给我第一个SQL结果的数组,我想要一个SQL结果的数组(值得冗余)

还知道我可以使用
result\u array()
来执行
foreach
,但该选项一次只能给出一个结果,因此我必须声明一个数组变量并在每个循环中添加一个项


因此,我要说清楚,它类似于PDO的
fetchAll(PDO::FETCH_ASSOC)
函数,但是对于CodeIgniter框架数据库类

,您可以使用mysql_FETCH_数组命令

<?php


mysql_fetch_array($query);


?>

这将根据您的查询将数据库查询返回到数组中

就像

$rs = $this->db->query(...);
$array = $rs->result_array();

Codeigniter包装了MySQLi,而较新的MySQLi版本则包装了Codeigniter。您可以自己简单地扩展它,并在循环中调用
result\u array()
,以返回结果数组。或者只定义一个简单的函数,它接收结果对象作为参数,在内部循环并返回数组。这就是我试图避免的,但谢谢,所以还没有原生方法…我不是codeigniter专家,但不知道原生方法,在文档中找不到。我一直在寻找,也没有找到任何,因此,我用我在问题中提到的循环创建了自己的函数,但我仍然觉得这是被迫的:)就像我在问题中发布的一样,只返回内部第一个结果的数组,而不是所有结果的数组。但是,如果我没有使用CodeIgniter数据库类,那么这个类可能会工作,但在这种情况下,我将使用PDO类,它比使用mysql_uu函数要好得多。