codeigniter,result()与result_array()

2020/12/31 18:21 · php ·  · 0评论

我同时使用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()第三个版本接受自定义类以用作结果对象。

来自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);
    }
}

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

为了参考:

// $query->result_object() === $query->result()
// returns:
Array ( [0] => stdClass Object ( [col_A] => val_1A , [col_B] => val_1B , ... ) 
        [0] => stdClass Object ( [col_A] => val_2A , [col_B] => val_2B , ... ) 
        ...  
      ) 

// $query->result_array() !== $query->result()
// returns:
Array ( [0] => Array ( [col_A] => val_1A , [col_B] => val_1B , ... ) 
        [1] => Array ( [col_A] => val_2A , [col_B] => val_2B , ... )
        ... 
      ) 

用于result()和result_array()的codeigniter文档

result_array()更快,
result()更容易

result()返回对象类型数据。result_array()返回关联数组类型数据。

返回纯数组比返回对象数组要快一些。

result()它是递归的,因为它返回一个std类对象,其中result_array()仅返回一个纯数组,因此result_array()可以选择性能。速度差异不大。

在我的经验中使用result()result_array()在我的问题中使用JSON如果result()没有问题,它的工作,但如果使用result_array()我有错误,"Trying to get property of non-object"所以即时通讯不深入研究问题,所以我只是使用result()如果使用JSON和使用,result_array()如果不使用JSON

result_array()返回关联数组类型数据。返回纯数组比返回对象数组要快一些。result()它是递归的,因为它返回一个std类对象,其中result_array()仅返回一个纯数组,因此result_array()可以选择性能。

本文地址:http://php.askforanswer.com/codeigniterresultyuresult_array.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!