| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Invalid argument supplied |
| Автор: Антоннио 12.3.2010, 13:53 | ||||||
| Необходимо добавить различное описание рубрик в rrs-расписке, ранее было для всех рубрик одиннаковые тэги <description> сейчас необходимо поменять...начал разбирать код - нашел массив $data - в котором формируется описание каждой рубрики - решил в его структуру добавить последним элементом описание по каждой рубрике...все было бы нормально - если не ошибка которая мне выдалась : Invalid argument supplied for foreach() in rss.php line 41 . Показываю саму дату, где и что я менял ДО :
после :
и собственно 41-ую строку где вылетает эта ошибка :
помогите решить проблему, так чтобы можно было поменять струтуру даты... |
| Автор: azesmcar 12.3.2010, 13:57 |
| В $a[13] лежит текст а ты к нему как к массиву обращаешься. |
| Автор: Ипатьев 12.3.2010, 13:59 |
| $a[13], насколько я вижу, не массив и не должен быть массивом. С какой стати тут цикл foreach? |
| Автор: Антоннио 12.3.2010, 14:04 | ||
от чего же до этого все работало - я ведь добавил 'des{index}' последним элементом - то есть 14-ым... |
| Автор: Антоннио 12.3.2010, 14:09 | ||||
Я все понимаю, что с нуля...только вот не могу понять от чего тут ошибка? скажите что нужно сделать чтобы оставить 'des{index}' а ошибка ушла - может тогда пойму что не так... |
| Автор: azesmcar 12.3.2010, 14:16 | ||||
как тут еще объяснить? на пальцах подсчитай, в $a[13] лежит ТЕКСТ. Например 'des9'. Это текст а не массив, foreach не работает с текстом. запусти код и проверь если не веришь на слово, непонятно чего ты хочешь добиться
|
| Автор: bars80080 12.3.2010, 15:05 | ||
в коде забито foreach($data as $a) { if ($a[13]) { foreach($a[13] as $item) что переводится как: при переборе элементов $data, если есть элемент #13, то разобрать его как массив. до сих пор этого элемента не было, потому и ошибок не было |
| Автор: azesmcar 12.3.2010, 15:13 | ||
Должно было быть предупреждение - undefined offset, видимо просто показ предупреждений отключен. |
| Автор: Антоннио 12.3.2010, 18:56 |
| Выкупил проблемы, всем спасибо за советы!;) нужно было добавить перед полем 'des' пустое поле с параметром null - просто там архитектура движка такая, что дописывалось в выбранную тематику 13-ый элемент - массив из всех статей..таким образом где был не пустой 13-ый елемент - его обрабатывали =). Я добавил 13-ый элемент null - абсолютно всем - и после него добавил 14-ый елемент 'des', таким образом записывались данные в 13-ый елемент |