2014-08-27 2 views
3

У меня проблема с перерывом от циклов. У меня есть код, как это:PHP break от 2 петель

<?php 
$return = array(...); 
while(true) { 
    foreach($return AS $row) { 
     if($row['timer'] > 15) 
      break; 
    } 
    sleep(2); 
} 

И мне нужно сломать время (истинный)

+0

Пожалуйста, не делайте этого. Если вам нужно использовать break 2; вместо перерыва; http://php.net/manual/en/control-structures.break.php –

ответ

13

Вы можете определить, сколько петель вы хотите разорвать этот путь:

break 2; 

Таким образом, в ваш случай:

while(true) { 
    foreach($return AS $row) { 
     if($row['timer'] > 15){ 
      break 2; 
     } 
    } 
    sleep(2); 
} 
+1

Узнайте что-то новое каждый день. +1 –

+0

Да, спасибо! Я отличный для меня – Vaflan

+0

Не знал этого. +1! – swordsecurity

0
$breakfromloop = false; 
while(!$breakfromloop) { 
    foreach($return AS $row) { 
     if($row['timer'] > 15) 
     { 
      $breakfromloop = true; 
     } 
    } 
    sleep(2); 
} 
0

Вы могли бы попробовать что-то вроде этого:

$return = array(...); 
$break = false; 
while(true) { 
    foreach($return AS $row) { 
     if($row['timer'] > 15){ 
      $break = true; 
      break; 
     } 
    } 
    if(true === $break) break; 
    sleep(2); 
}