一尘不染

codeigniter,result()与result_array()

php

我同时使用result()result_array()

通常我喜欢将结果作为数组,这就是为什么我主要使用result_array()的原因。

但是我想知道哪种方法更好,在性能方面,哪种方法更有效?

这是我在codeigniter查询中谈论的示例

$query = $this->db->get();
$result = $query->result_array();

还是这应该是更好的方法?

$query = $this->db->get();
$result = $query->result();

也现在我在我的通用模型中使用result_array。


阅读 600

收藏
2020-05-29

共1个答案

一尘不染

Result有一个可选$type参数,该参数决定返回哪种类型的结果。默认情况下($type = "object"),它返回一个对象(result_object())。可以将其设置为"array",然后将返回结果数组,该结果等同于caling
result_array()。第三个版本接受自定义类以用作结果对象。

来自CodeIgniter的代码:

/**
* Query result. Acts as a wrapper function for the following functions.
*
* @param string $type 'object', 'array' or a custom class name
* @return array
*/
public function result($type = 'object')
{
    if ($type === 'array')
    {
        return $this->result_array();
    }
    elseif ($type === 'object')
    {
        return $this->result_object();
    }
    else
    {
        return $this->custom_result_object($type);
    }
}

数组从技术上讲速度更快,但它们不是对象。这取决于您要在哪里使用结果。大多数时候,数组就足够了。

2020-05-29