1

我正在尝试根据用户是否登录在 MY_Controller 中设置配置文件 div 框。

如果我可以在控制器中做到这一点

$data['name']  = $name;

..那么为什么这会给我“致命错误:不能使用 stdClass 类型的对象作为数组”?

    if($this->session->userdata('loggedInStatus') == "TRUE"){
        $data['profileDivFirstName'] = $this->session->userdata('first_name');
        $data['profileDivPicture'] = $this->session->userdata('picture');
        $this->load->vars( $data );
    }else{
        $data['profileDivInfoFirstName'] = "Anonymous User";
        $data['profileDivInfoPicture'] = "/assets/css/img/ico-unknown-user.gif";
        $this->load->vars( $data );
    }
4

2 回答 2

2

您已经实例化$data了它是一个对象。由于您在 MY_Controller 中,因此很可能您成功了。您发布的代码并没有向我们展示太多,但是:

$data['name']  = $name;

如果是一个对象则不起作用,$data因为一个对象希望您使用这种格式:

$data->name  = $name;

这将(或无论如何应该)有效,但您应该检查您的代码以确保您没有在其他东西中使用它。

于 2013-01-29T14:48:58.543 回答
1

该错误告诉您您正在尝试将 OBJECT(类)用作 ARRAY。这是无法做到的。

于 2013-01-29T14:08:04.830 回答