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 :: Обновление массива в Foreach из-за array_push
Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014
Помог: 0 раз(а)
Здравствуйте.
Есть массив. В цикле foreach добавляются в этот массив элементы через array_push. Как сделать так, чтобы ЭТОТ ЖЕ foreach обрабатывал и добавленные элементы?
// тут поиск урлов на странице и запись их в массив
// getPages($newUrl): //каждый новый урл пропускаем опять через нашу функцию
}
}
getPages($_POST['siteName']);
Что-то я в функциях не понимаю.
OrmaJever
Отправлено: 26 Августа, 2014 - 10:56:55
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Webtest пишет:
Никогда раньше сними дело не имел
Вот с этого и нужно начинать, функции это самое элементарное что есть в любом ЯП, а вы даже не зная их уже лезете что-то писать. https://php.net/manual/ru/functi...user-defined.php
PS. ваш пример не работает потому что у функций есть область видимости. А ещё, то что показал dmaw называется - рекурсия. Гуглите, читайте, пробуйте.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Webtest
Отправлено: 26 Августа, 2014 - 11:02:08
Посетитель
Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014
Помог: 0 раз(а)
OrmaJever, вроде немного разобрался.
Такой вопрос, если в функции есть ссылка на саму функцию, как например:
function getPages($url) {
getPages($newUrl);
}
Функция прерывается в это случае и начинает обрабатывать новый запрос или получается что функция обрабатывает внутри функции еще одну? (Добавление)
Вот, сделал такую функцию:
И т.д. А не продолжает пробегаться по страничкам. Как это исправить? (Добавление)
Т.е. код как бы забывает что он был на этой странице и идет назад, а как сделать так, чтобы, допустим, в массив добавлялись страницы, которые проверились, и на них больше не заходила функция?
Я вот попытался сделать внутри функции:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.