将站点从一台服务器(godaddy)移动到另一台服务器(bluehost)后的 codeigniter 数组会话问题

codeigniter array session issue after move site one server(godaddy) to another server(bluehost)

会话中有问题。这是我的数组。

print_r($this->session->userdata("user_data"));

       Array
         (
           [useremail] => myid@gmail.com
           [user_id] => 1
           [is_login] => 1
          )

我想获取用户邮箱。所以我正在写这段代码。

         print_r($this->session->userdata("user_data")['useremail']);

它给出了错误。解析错误:语法错误,意外的“[”

如果我这样写代码:

$dataval = $this->session->userdata("user_data");

 print_r($dataval['useremail']);

然后它工作正常。

请帮我看看是什么问题?

这是因为您(可能)从较新的 php 版本 (5.4+) 转移到旧版本 (5.2)。 通过调用函数名直接访问数组项仅适用于 php 5.4 和更新版本:array dereferencing.

唯一的解决办法是使用临时变量(就像你的$dataval)。或者,如果 bluehost 允许,您可以切换到新的 php 版本。