2011-12-11 66 views
0

如何輸出數組中的一組數字,例如如果是10個數組,我只想輸出它們中的8個?foreach僅輸出一組數字

foreach($arrays as $array){ 
//do I use a for loop/ 
} 

謝謝!

回答

1

foreach僅僅是自然的方法,如果你真的想在遍歷每個項目(顧名思義)。但是,你可以做這樣的事情:

$i = 0; 
foreach($arrays as $array){ 
    ... 
    $i++; 
    if ($i == $limit) { 
     break; 
    } 
} 
+0

這個工作正常,當需要簡單的時候打破。 – hellomello

1
$i = 0; 
foreach($arrays as $array){ 
    if($i < 8){ 
     // do something 
    } 
    $i++; 
} 
1
foreach(array_slice($arrays, 0, 8) as $array){ 
//do I use a for loop/ 
} 
+0

這是否適用於關聯數組? –

+0

@Oli Charlesworth:是的(參見'array_slice'的第四個參數)。但只要OP在他的例子中不使用密鑰 - 我省略了 – zerkms

1

你可以使用一個foreach循環這樣的(已經提到)。

$i = 0; 
foreach($arrays as $array){ 
//do I use a for loop/ 

if(++$i >= 8) break; 
} 

...或者你可以使用一個for循環,這是專爲做動作設定的次數,例如,8倍。

for($i=0; $i < 8; $i++){ 
$array = $arrays[$i]; 

// body 
} 
+0

這將工作的關聯數組? –

+0

'$ arrays'''不能是關聯數組。 ''array'''可以是任何類型(關聯數組,數組,字符串,整數,無關緊要)。 – FakeRainBrigand

+0

@FakeRainBrigand:'$數組不能是關聯數組。「---你錯了。如果使用非自然順序,你的第二種情況將失敗 – zerkms