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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Странное поведение при создании массива
Суть проста, в массиве $codesStrs содержатся строки вида 1234=543, и данный код аккуратно расскидывает их в массив $codes, ставя первое число из пары как ключ, а авторое как значение
Это работало на всех хостингах, но на одном я встретился с такой странной штукой. Внезапно оказалось, что вот в этой записи $codes[$codeStr[0]] PHP работает с $codes не как с массивом, а как со строкой. Тоесть, инициализирует $codes как строку и записывает в позицию номер $codeStr[0] значение из $codeStr[1]
Собственно, проблему с этим я решил, просто предварительно явно объявив $codes как массив, но суть не в этом. Мне просто крайне любопытно, каким образом PHP мог быть настроен для такого поведения?
LIME
Отправлено: 18 Января, 2012 - 19:24:16
Активный участник
Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010
Помог: 322 раз(а)
NeoN121 сложно сказать в чем дело
маловато данных
как правило в таких случаях помогает var_dump()
воткните его везде и проследите за принимаемыми значениями
уверяю вопросы отпадут
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.