php-致命错误:无法使用stdClass类型的对象作为数组

时间:2017-03-04 10:49:05

标签: php codeigniter

    $store_list = array();
    $this->db->select('user_time');
    $this->db->from('users');
    $this->db->where('staff_id',$userid);
    $result = $this->db->get();

    $result= $result->result();
    foreach($result as $rows){
        array_push($store_list, $rows["user_time"]);
    }
    return $store_list;

我在模型中编写了一个函数,其中包含上述代码,用于获取用户将id作为参数传递的时间,并将用户的时间返回给控制器函数

但我收到以下错误:Fatal Error: Cannot use object of type stdClass as array

导致此错误的原因是什么?有什么想法吗?

注意:sql查询返回所有匹配的记录。它可以是一个或多个记录。

2 个答案:

答案 0 :(得分:1)

可能是$result对象不是数组,请像这样使用

array_push($store_list, $rows->user_time);

答案 1 :(得分:1)

错误是因为

$result= $result->result();

此处$result是一个Std Class对象,用于访问其元素使用->而不是[],如:

array_push($store_list, $rows->user_time);

或者像使用数组一样使用它:

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