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 :: заблудилась в двух циклах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: выкладываю полный исходник
algebra
Отправлено: 28 Апреля, 2011 - 11:37:57
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




почему все $link одинаковые?

PHP:
скопировать код в буфер обмена
  1. header ('Content-type: text/html; charset=utf-8');
  2. $x=1;
  3. $te = file_get_contents("http://forums.kuban.ru/forumdisplay.php?f=1274&sort=1");
  4. preg_match ("/title.+>>>/" , $te , $last );                             //формируем часть ссылки
  5. preg_match ("/[\d]{2,3}+&sort=1.>>>/" , $last[0], $l );    //с первой странички форума
  6. preg_match ("/[\d]{2,3}/" , $l[0], $l );
  7.  
  8. $m="http://forums.kuban.ru/forumdisplay.php?f=1274&page=1&sort=1";
  9. $text = file_get_contents($m);
  10. preg_match_all ("/(thread_title_)+([\d]{6,10})/" , $text , $http );
  11. for ($i=0;$i< count($http[0]); $i++)
  12. {
  13. $link="http://forums.kuban.ru/showthread.php?t=".str_replace("thread_title_", "", $http[0][$i])."";            //соединяем ссылку в одно целое
  14. $text = file_get_contents($link);    // вытягиваем статью
  15.  
  16. $lu=0;
  17. $ray_array = file("allray.txt");                     //массив районов из файла
  18.  
  19. while (empty($rayon))                      //пока район не заполнен значением
  20. {
  21. preg_match("#".trim($ray_array[$lu++])."#", $text, $rayon);
  22. echo $link."<br>\n";
  23. }
  24. }
 
 Top
DeepVarvar Супермодератор
Отправлено: 28 Апреля, 2011 - 11:56:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




А где и как до проверки на пустоту объявлена переменная $rayon?
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:02:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




не поняла...
 
 Top
morosit
Отправлено: 28 Апреля, 2011 - 12:14:33
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




такая конструкция:
while (empty($rayon))
предполагает что $rayon есть, но пустая
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:17:06
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




и что же мне с этим делать?
"напишите за меня пожалуйста"
 
 Top
OrmaJever
Отправлено: 28 Апреля, 2011 - 12:21:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




algebra пишет:
и что же мне с этим делать?
"напишите за меня пожалуйста"

Что писать? Задания то небыло Хм


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:23:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




переменная $link должна меняться
 
 Top
OrmaJever
Отправлено: 28 Апреля, 2011 - 12:25:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Так пойдёт?
PHP:
скопировать код в буфер обмена
  1. $link = 1;
  2. echo $link;
  3. $link = 2;
  4. echo $link;


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:29:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




почему в 22ой строчке переменная $link не меняется?
 
 Top
morosit
Отправлено: 28 Апреля, 2011 - 12:38:37
Post Id



Посетитель


Покинул форум
Сообщений всего: 307
Дата рег-ции: Июль 2010  
Откуда: Казахстан


Помог: 4 раз(а)




А при каких обстоятельствах она должна изменится?
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:42:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




первый цикл, в моем понимании создает ссылки, второй цикл их обрабатывает, когда переменная $rayon перестает быть пустой происходит, как я задумывала, выход из цикла и переход к первому циклу из которого берется следующая ссылка
 
 Top
OrmaJever
Отправлено: 28 Апреля, 2011 - 12:44:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




algebra ладно не буду вас мучать скажу чесно, код очень плохо написан, скажите исходную задачу поможем переделать полутше


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 12:49:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




http://forums[dot]kuban[dot]ru/forumdisp[dot][dot][dot]=1274&sort=1
с этой ссылке получая темы форума,
из тем выдираю названия районов, библиотека которых лежит в файле allray.txt
код работает автономными циклами - вместе почему-то нет
http://forum.php.su/topic.php?fo...4&topic=1203
 
 Top
algebra
Отправлено: 28 Апреля, 2011 - 16:06:11
Post Id



Частый гость


Покинул форум
Сообщений всего: 171
Дата рег-ции: Февр. 2011  


Помог: 0 раз(а)




внутренний цикл while (empty($rayon)) ... проходит только один раз, завершаясь, завершается весь скрипт, не обращаясь ко внешнему циклу. Объясните, пожалуйста, почему так происходит?
 
 Top
vsll
Отправлено: 28 Апреля, 2011 - 16:47:02
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 530
Дата рег-ции: Февр. 2011  


Помог: 10 раз(а)




algebra пишет:
while (empty($rayon))
больше смахивает на if
http://php.su/learnphp/cs/?cycles
сделайте var_dump ($http); может у вас только одно значение
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB