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 » PHP » Напишите за меня, пожалуйста » заблудилась в двух циклах

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

1. algebra - 28 Апреля, 2011 - 11:37:57 - перейти к сообщению
почему все $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. }
2. DeepVarvar - 28 Апреля, 2011 - 11:56:24 - перейти к сообщению
А где и как до проверки на пустоту объявлена переменная $rayon?
3. algebra - 28 Апреля, 2011 - 12:02:07 - перейти к сообщению
не поняла...
4. morosit - 28 Апреля, 2011 - 12:14:33 - перейти к сообщению
такая конструкция:
while (empty($rayon))
предполагает что $rayon есть, но пустая
5. algebra - 28 Апреля, 2011 - 12:17:06 - перейти к сообщению
и что же мне с этим делать?
"напишите за меня пожалуйста"
6. OrmaJever - 28 Апреля, 2011 - 12:21:09 - перейти к сообщению
algebra пишет:
и что же мне с этим делать?
"напишите за меня пожалуйста"

Что писать? Задания то небыло Хм
7. algebra - 28 Апреля, 2011 - 12:23:41 - перейти к сообщению
переменная $link должна меняться
8. OrmaJever - 28 Апреля, 2011 - 12:25:16 - перейти к сообщению
Так пойдёт?
PHP:
скопировать код в буфер обмена
  1. $link = 1;
  2. echo $link;
  3. $link = 2;
  4. echo $link;
9. algebra - 28 Апреля, 2011 - 12:29:29 - перейти к сообщению
почему в 22ой строчке переменная $link не меняется?
10. morosit - 28 Апреля, 2011 - 12:38:37 - перейти к сообщению
А при каких обстоятельствах она должна изменится?
11. algebra - 28 Апреля, 2011 - 12:42:23 - перейти к сообщению
первый цикл, в моем понимании создает ссылки, второй цикл их обрабатывает, когда переменная $rayon перестает быть пустой происходит, как я задумывала, выход из цикла и переход к первому циклу из которого берется следующая ссылка
12. OrmaJever - 28 Апреля, 2011 - 12:44:12 - перейти к сообщению
algebra ладно не буду вас мучать скажу чесно, код очень плохо написан, скажите исходную задачу поможем переделать полутше
13. algebra - 28 Апреля, 2011 - 12:49:58 - перейти к сообщению
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
14. algebra - 28 Апреля, 2011 - 16:06:11 - перейти к сообщению
внутренний цикл while (empty($rayon)) ... проходит только один раз, завершаясь, завершается весь скрипт, не обращаясь ко внешнему циклу. Объясните, пожалуйста, почему так происходит?
15. vsll - 28 Апреля, 2011 - 16:47:02 - перейти к сообщению
algebra пишет:
while (empty($rayon))
больше смахивает на if
http://php.su/learnphp/cs/?cycles
сделайте var_dump ($http); может у вас только одно значение

 

Powered by ExBB FM 1.0 RC1