programing

PHP로 외부 루프를 끊으려면 어떻게 해야 하나요?

copyandpastes 2022. 11. 8. 21:43
반응형

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에 있는 경우 레이블과gotos(ActionScript와 유사):

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

그렇지만goto주의해서 사용해야 합니다.고토는 사악하다(악습으로 간주됨)

사용할 수 있습니다.break 2;동시에 두 개의 루프를 뚫을 수 있습니다."이름 있는" 루프를 사용하는 예시와 완전히 같지는 않지만 효과가 있습니다.

$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

반응형