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 :: Версия для печати :: Не работает перебор массива
Форумы портала PHP.SU » » Вопросы новичков » Не работает перебор массива

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

1. rasl89 - 29 Апреля, 2020 - 19:19:00 - перейти к сообщению
Помогите, не работает перебор массива.

Есть массив с ссылками:
$ssil12

Задача подключить скрипт обработки одной ссылки (парсер), перебрать массив с ссылками, выполняя скрипт по каждой ссылке

перебор:
PHP:
скопировать код в буфер обмена
  1. foreach ($ssil12 as $https) {
  2.     perebor($https);
  3. }


Функция (в ранее подключенном файле):
PHP:
скопировать код в буфер обмена
  1.  
  2. function perebor ($https='') {
  3.  
  4. //парсер обрабатывает ссылку, вносит в бд спарсенные строки
  5. }
  6.  


Не работает.
Парсит только первую строку из массива, далее не перебирает.
(Добавление)
В теле функции парсер начинается с :
PHP:
скопировать код в буфер обмена
  1.  $html = str_get_html($https); //получаем объек


быт может тут проблема?
2. Vladimir Kheifets - 02 Мая, 2020 - 16:10:13 - перейти к сообщению
rasl89 пишет:
Помогите, не работает перебор массива.

Есть массив с ссылками:
$ssil12

Задача подключить скрипт обработки одной ссылки (парсер), перебрать массив с ссылками, выполняя скрипт по каждой ссылке

перебор:
PHP:
скопировать код в буфер обмена
  1. foreach ($ssil12 as $https) {
  2.     perebor($https);
  3. }


Функция (в ранее подключенном файле):
PHP:
скопировать код в буфер обмена
  1.  
  2. function perebor ($https='') {
  3.  
  4. //парсер обрабатывает ссылку, вносит в бд спарсенные строки
  5. }
  6.  


Не работает.
Парсит только первую строку из массива, далее не перебирает.
(Добавление)
В теле функции парсер начинается с :
PHP:
скопировать код в буфер обмена
  1.  $html = str_get_html($https); //получаем объек


быт может тут проблема?


Добрый день!
Проблема в том, что функция perebor($https) вызывается в цикле, а в ней загружается класс DB.
При попытке повторного определения класса DB, в цикле возникает фатальная ошибка.
Класс DB должен определяться только один раз в начале скрипта.
Удачи!
3. rasl89 - 03 Мая, 2020 - 23:06:19 - перейти к сообщению
Вопрос решен.
Проблема была в curl туда не попадали ссылки из массива.
Вопрос решен созданием функции.

 

Powered by ExBB FM 1.0 RC1