Проблема сеанса массива 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 это позволяет.