Как я могу нарушить внешний цикл с PHP?

Я ищу, чтобы разбить внешний цикл for / for в PHP.

Это можно сделать в ActionScript следующим образом:

top : for each(var i:MovieClip in movieClipArray) { for each(var j:String in nameArray) { if(i.name == j) break top; } } 

Что такое эквивалент PHP?

В случае 2 вложенных циклов:

 break 2; 

http://php.net/manual/en/control-structures.break.php

Руководство PHP

break принимает необязательный числовой аргумент, который сообщает ему, сколько из вложенных структур размещения должно быть разбито.

 break 2; 

Вы можете использовать break 2; одновременно выходить из двух петель. Это не совсем так, как ваш пример с «названными» циклами, но он будет делать трюк.

Вы можете использовать только оператор break-n:

 foreach(...) { foreach(...) { if(i.name == j) break 2; //Breaks 2 levels, so breaks outermost foreach } } 

Если вы находитесь в php> = 5.3, вы можете использовать метки и goto s, похожие на скрипт действия:

  foreach(...) { foreach(...) { if(i.name == j) goto top; } } top : 

Но goto нужно использовать осторожно. Гото – зло (считается плохой практикой)

  $i = new MovieClip(); foreach($movieClipArray as $i) { $nameArray = array(); foreach($nameArray as $n) if($i->name==$n) break 2; } 

Использовать goto?

 for($i=0,$j=50; $i<100; $i++) { while($j--) { if($j==17) goto end; } } echo "i = $i"; end: echo 'j hit 17'; в for($i=0,$j=50; $i<100; $i++) { while($j--) { if($j==17) goto end; } } echo "i = $i"; end: echo 'j hit 17';