我同时使用result()和result_array()。
result()
result_array()
通常我喜欢将结果作为数组,这就是为什么我主要使用result_array()的原因。
但是我想知道哪种方法更好,在性能方面,哪种方法更有效?
这是我在codeigniter查询中谈论的示例
$query = $this->db->get(); $result = $query->result_array();
还是这应该是更好的方法?
$query = $this->db->get(); $result = $query->result();
也现在我在我的通用模型中使用result_array。
Result有一个可选$type参数,该参数决定返回哪种类型的结果。默认情况下($type = "object"),它返回一个对象(result_object())。可以将其设置为"array",然后将返回结果数组,该结果等同于caling result_array()。第三个版本接受自定义类以用作结果对象。
$type
$type = "object"
result_object()
"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); } }
数组从技术上讲速度更快,但它们不是对象。这取决于您要在哪里使用结果。大多数时候,数组就足够了。