Programming

PHP로 외부 루프를 끊을 수 있습니까?

procodes 2020. 7. 13. 22:05
반응형

PHP로 외부 루프를 끊을 수 있습니까?


PHP에서 외부 for / foreach 루프를 중단하려고합니다.

다음과 같이 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-n 문만 사용할 수 있습니다.

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

php> = 5.3 인 경우 gotoActionScript와 마찬가지로 레이블과 s를 사용할 수 있습니다 .

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

그러나 goto주의해서 사용해야합니다. 고토는 악하다 (나쁜 연습으로 간주)


break 2;동시에 두 개의 루프에서 벗어날 수 있습니다 . "named"루프를 사용하는 예제와 완전히 다르지는 않지만 트릭을 수행합니다.


$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';

참고URL : https://stackoverflow.com/questions/5880442/how-can-i-break-an-outer-loop-with-php

반응형