foreach($types as $type){
echo '111';
}
Мне нужно как-то сделать, чтобы цикл был остановлен при определенном условии.
Хотел сделать как-то так
$limit = 10;
foreach($types as $type){
echo '111';
$limit --;
if($limit<=0) break;
}
Но это не работает в данном случае. Как можно остановить цикл?
Спустя 43 минуты, 52 секунды (29.06.2012 - 20:47) redreem написал(а):
этот случай не сработает, если количество элементов в $types меньше 10. если больше - то вполне себе будет. в чем проблема? синтаксически все верно. проблема только в правильно поставленном условии, надо полагать.
Спустя 8 минут, 30 секунд (29.06.2012 - 20:56) -Den- написал(а):
Количество точно больше 10-ти. Я уже пробовал иначе делать:
Но тоже, как-то не получается.
Может проблема в том, что у меня два цикла?
$limit = 0;
foreach($types as $type){
echo '111';
$limit ++;
if($limit==10) break;
}
Но тоже, как-то не получается.
Может проблема в том, что у меня два цикла?
foreach($last as $type=>$boards){
echo '<h2>'.$type.'</h2>';
$limit = 10;
foreach($boards as $board){
echo '111';
$limit --;
if($limit<=0) break;
}
}
Спустя 22 минуты, 24 секунды (29.06.2012 - 21:18) johniek_comp написал(а):
можешь так еще
$count = 0;
foreach($types as $type){
echo '111';
if($count++ == 10)
break;
}
Спустя 4 минуты, 43 секунды (29.06.2012 - 21:23) johniek_comp написал(а):
$limit = 10;
вынеси за все циклы, ты ее уменьшаешь на 1, а потом на 1 прибавляешь, т.е. нуля она ни как не достигнет
Спустя 2 часа, 52 минуты, 21 секунда (30.06.2012 - 00:15) sergeiss написал(а):
вот так можно:
$stop_loop=false;
foreach( .... )
{
code;
foreach( ... )
{
code;
if( condition )
{
$stop_loop=true;
break;
}
if( $stop_loop )
break;
}
Спустя 12 часов, 44 минуты, 1 секунда (30.06.2012 - 12:59) -Den- написал(а):
Всем спасибо, всё почти работает. Проблема была в том, что я не до конца понял, как именно выбираются данные из базы. Там оказался один нюанс, который я не учел, поэтому никак не мог понять почему остановка цикла не работает. Остановка как раз работала.
Теперь у меня другая проблема, задам вопрос в другой ветке.
Теперь у меня другая проблема, задам вопрос в другой ветке.
Спустя 38 минут, 46 секунд (30.06.2012 - 13:38) killer8080 написал(а):
Цитата (-Den- @ 29.06.2012 - 20:56) |
Может проблема в том, что у меня два цикла? |
Может с этого и надо было начинать
foreach($last as $type => $boards){
echo '<h2>'.$type.'</h2>';
$limit = 10;
foreach($boards as $board){
echo '111';
if(--$limit <= 0)
break 2;
}
}