Проблема сеанса массива codeigniter после перемещения сайта одного сервера (godaddy) на другой сервер (bluehost)

Есть проблема в сессии. Это мой массив.

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

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

Я хочу получить useremail. поэтому я пишу этот код.

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

Это дает ошибку. Ошибка разбора: синтаксическая ошибка, неожиданное '['

Если я пишу код так:

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

 print_r($dataval['useremail']);

Тогда это работает нормально.

Пожалуйста, помогите мне в чем проблема?

1 ответ

Решение

Это потому, что вы (вероятно) перешли с более новой версии php (5.4+) на старую версию (5.2). Прямой доступ к элементам массива путем вызова имени функции доступен только в php 5.4 и новее: разыменование массива.

Единственное решение - использовать временную переменную (например, ваш $dataval). Или вы можете переключиться на более новую версию PHP, если BlueHost это позволяет.

Другие вопросы по тегам