2011-07-14 133 views
1

例如在for循環中,你可以踢出這樣的:如何在foreach循環中執行?

for($i = 0; $i < count($ary); $i++){ 
    if($ary[$i] == 'blah') 
     $i = count($ary); 

    echo $i; 
} 

或者在一個while循環:

$i = 0; 

while($i < count($ary)){ 
    if($ary[$i++] == 'blah') 
     $i = count($ary); 

    echo $i; 
} 
+2

什麼意思用術語「kickout」?你想做什麼? –

+0

從你的循環中刪除'count($ ary)'並將它存儲在一個臨時變量中。否則,函數在循環的每次迭代**上執行,這對性能來說是非常糟糕的:'$ l = count($ ary); while($ i <$ l)...' – zzzzBov

+0

我正在尋找休息;感謝您的幫助 – samwell

回答

2

不知道真的是你的 「揪出來」 的意思,但:

  • 要跳至下一個項目,使用continue;

  • 停止整個循環,使用break;

+0

謝謝,那就是我需要的。 – samwell

1

如果我理解你的問題,你正在尋找正確什麼是break關鍵字。

PHP Break

0

使用break

for($i = 0; $i < count($ary); $i++){ 
    if($ary[$i] == 'blah') 
     break; 

    echo $i; 

} 
0
for($i = 0; $i < count($ary); $i++){ 
    if($ary[$i] == 'blah') 
     break; 

    echo $i; 
} 

foreach($ary as $c){ 
    if($c=='blah')break; 
} 

Manual