2012-07-04 1 views
0

이 질문을하는 법을 모르겠다. 문제는 if ($current[$id][$i]['item'] == '')이 true이면 스크립트를 실행해야하거나이 경우 에코에서 15 번 반복하지 말고 루프를 실행하지 않아야한다는 것입니다.exit를 사용하지 않고 첫 번째 일치 후 스크립트 또는 루프를 중지하십시오.

exit;을 사용하는 경우 전체 페이지가 렌더링을 중지하므로 어떤 아이디어가 나옵니까? 사전에

감사합니다.

질문이 명확하지 않은 경우 의견을 묻는 데 주저하지 않으면 의심의 여지가 없습니다.

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
     echo 'Done!.'; 
     //do something 
    } 
    $a++; 
} 
+5

* 당신에게 * 싫어 *하지만이 물건은 간단합니다! –

답변

12

사용 break

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
     echo 'Done!.'; 
     break; 
    } 
    $i++; //<- that should probably be $i instead of $a? 
} 
+1

@ user983248 실제로 게시물을 약간 편집했는데, 크레딧은 그리피우스에게 간다. – Esailija

-1
$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
     echo 'Done!.'; 
     break; // or you can make value of $i = 20; 
    } 
    $a++; 
} 
+0

이것이 작동하는 동안 나는 그것을하지 않을 것입니다. 이것은 '$ i'의 상한선이 바뀌면 모든 문제를 일으킬 수 있습니다. 그래서'break' 키워드가 있습니다. –

+0

간단한 'break'를 사용할 수 있습니다. –

+0

동의 함 - 작동하지만 'break'보다이 기술을 사용하는 경우는 없으며 부작용이있을 수 있습니다. – Utkanos

3

어떻게 break 제어 구조를 사용하는 방법에 대한?

2

휴식해야합니다. 또한 현재 루프는 끝이 없으므로 시간이 초과됩니다. 아마도 $i을 증분하려는 것이고 $a이 아닐 것입니다. exit;break; ....

break;를 사용하여 루프를 중단하는 단지 2 가지 방법이있다 ...

$i=1; 
while($i<=15) { 
    if ($current[$id][$i]['item'] == '') { 
     echo 'Done!.'; 
     break; //<-- terminate loop 
    } 
    $a++; //<-- shouldn't this be $i++? 
} 
0

당신이 종료 스크립트를 종료합니다 루프를 종료하고 실행을 계속 원하는 것입니다 .