Я ищу, чтобы разбить внешний цикл 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?
Руководство 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';