Честно гря, оч сильно устал, поэтому даж в этом вопросе не могу найти ответ, может вопрос пулучиться глупый, но всеж, прошу помощи.
у меня есть цикл
PHP |
for ($i=0; $i<10; $i++) |
который выводит:
А как будет этот цикл выглядеть, чтобы было
Спустя 1 минута, 10 секунд (4.03.2009 - 21:58) SpiderSpy написал(а):
PHP |
for($i=10; $i>0; $i--) |
Спустя 56 минут, 54 секунды (4.03.2009 - 22:55) kich написал(а):
Попробовал цикл "в обратную" на скрипте
PHP |
<?php $mass = file_get_contents("http://www.businesspravo.ru/Docum/DocumMonitList.asp?CPage=4"); if (preg_match("/<table BORDER=\"0\" Width=\"100%\">(.*)<\/table>/isU",$mass,$match)){ echo "<table id=\"list\">$match[1]</table>"; print "<hr />"; if (preg_match_all("/<TR><TD>(.*)<\/TD><\/TR>/isU",$match[1],$blocki,PREG_PATTERN_ORDER)){ echo "<table id=\"list\" border=1>"; echo "<tr><td><b>дата публикации</b></td><td><b>адрес ссылки</b></td><td><b>имя ссылки</b></td><td><b>документ</b></td><td><b>комментарий</b></td></tr>"; for ($i=count($blocki[0]); $i>= 1; $i--) { preg_match("/<a Href=\"(.*)\"/isU",$blocki[0][$i],$match_link); preg_match("/<a Href.*>(.*)<\/a>/isU",$blocki[0][$i],$match_link_name); preg_match_all("/<B>(.*)<\/B>/isU",$blocki[0][$i],$match_date,PREG_SET_ORDER); if (preg_match("/<I>(.*)<\/I>/isU",$blocki[0][$i],$link_comment)){ $link_comm=$link_comment[1]; }else{$link_comm="";}; $daytext="<tr><td>".$match_date[0][1]."</td><td>$match_link[1]</td><td>$match_link_name[1]</td><td>".$match_date[1][0]."</td><td>$link_comm</td></tr>\n"; print $daytext; } echo "</table>"; echo "<hr><b>всего строк: $i</b>"; } }
|
Выдает следующую ошибку
Код |
...Undefined offset... |
Спустя 29 минут, 19 секунд (4.03.2009 - 23:24) Viking написал(а):
это потому что count выдает размер массива, который на единицу больше последнего номера, ибо нумерация массива начинается с нуля
PHP |
for ($i=count($blocki[0]) - 1; $i>= 0; $i--) { |
Спустя 1 минута, 38 секунд (4.03.2009 - 23:26) kich написал(а):
Цитата (Viking @ 5.03.2009 - 00:24) |
это потому что count выдает размер массива, который на единицу больше последнего номера, ибо нумерация массива начинается с нуля
PHP | for ($i=count($blocki[0]) - 1; $i>= 0; $i--) { |
|
Уже решил;) Спасибо
_____________