Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Array to string conversion
Форумы портала PHP.SU » » Вопросы новичков » Array to string conversion

Страниц (1): [1]
 

1. Anguis - 29 Февраля, 2016 - 16:32:57 - перейти к сообщению
Yii, шабашка
Вроде банально. Пытаюсь сохранить в сессии многомерный масссив.
Упорно ругается на строку
PHP:
скопировать код в буфер обмена
  1. $_SESSION['F']['cells'][$_SESSION['item']] = $_POST['Form'];

Что ему не нравится? Почему не хочет массив присваивать?
2. Мелкий - 29 Февраля, 2016 - 16:43:21 - перейти к сообщению
Почему вы решили, что проблема с присваиванием?
3. Anguis - 29 Февраля, 2016 - 17:07:15 - перейти к сообщению
А с чем в этой строке может быть еще проблема?
Пробовал так, ошибка все равно остается:
PHP:
скопировать код в буфер обмена
  1. $_SESSION['F']['cells'][0] = $_POST['Form'];
4. Мелкий - 29 Февраля, 2016 - 17:10:54 - перейти к сообщению
Жаль, хороший очевидный был вариант, что $_SESSION['item'] - массив.

Ну тогда берёте var_dump и пошагово смотрите, что у вас в $_SESSION['F'], $_SESSION['F']['cells'], $_POST['Form'] и почему где-то там что-то не то.
5. Anguis - 29 Февраля, 2016 - 17:23:11 - перейти к сообщению
Угу, нашел...

PHP:
скопировать код в буфер обмена
  1.  
  2. var_dump($_SESSION['F']['cells']); // string(2) "[]"
  3.  


странно, ведь до этого идет

PHP:
скопировать код в буфер обмена
  1.  
  2. $_SESSION['F']['cells'] = array();
  3.  


Что за глюк?
(Добавление)
Разобрался. Сам лоханулся как всегда, досадная ошибка с неверной расстановкой скобок. дальше была конструкция $_SESSION['F']['cells'] = CJSON::encode($_SESSION['F']['cells']); которая должна была находиться в блоке if, но из за моей невнимательности в нем не находилась. она то мне массивы в строки и преобразовывала.

 

Powered by ExBB FM 1.0 RC1