2012-06-04 69 views
0

我試圖使用數組&環
可以說這是一個數組一切梳理,PHP第3條然後再打破並繼續?

$arr = array('One','Two','Three','Four','Five','Six'); 

我想首先選擇他們三人被用作
$改編[0] $ arr [1]和$ arr [2]
這結束了一個,兩個,三個
我想使用相同的未來3 ..
東西打破它,並使用相同的0 1 2索引返回第二個3
這裏是一個例子ex平原多,

$arr = array('One','Two','Three','Four','Five','Six'); 

    echo $arr[0].$arr[1].$arr[2]; // OneTwoThree 
     break; // < ?? 
    echo $arr[0].$arr[1].$arr[2]; // FourFiveSix 

另外,我想用foreach循環使用它

$arr = array('One','Two','Three','Four','Five','Six'); 
    foreach($arr as $num){ 
    echo $num; // OneTwoThree 
    if($something == 3){ // < ?? 
     break; // < ?? 
    } 
    echo $num; // FourFiveSix 
    } 

,什麼我嘗試使用數組中的每個三個陣列使用它們後來

+0

使用['array_chunk($改編,3) ;'](http://us.php.net/array_chunk) – DCoder

+1

你究竟在做什麼*試圖做什麼?你可能會過問這個問題。 – JJJ

+0

我認爲他想換行......並且完全誤解了「break」的使用 – Bryan

回答

5

用做array_chunk和遍歷結果:

foreach(array_chunk($arr, 3) as $a) { 
    echo $a[0], $a[1], $a[2]; 
} 

這是添加了換行符:

foreach(array_chunk($arr, 3) as $a) { 
    echo $a[0], $a[1], $a[2], "<br>\n"; 
} 

注:最後一個元素可以少於三個元素!對於一個可能的解決辦法是使用implode來連接的元素:

foreach(array_chunk($arr, 3) as $a) { 
    echo implode('', $a), "<br>\n"; 
} 
+0

RoseWarad,array_chunk會將$ arr分成三個元組。每次foreach循環運行時,$ a都會有$(arr)三個不同的元素。嘗試一下! –

1

編輯:array_chunk()很多更爲明智......清晨

<?php 
$arr = array('One','Two','Three','Four','Five','Six'); 


for($i = 0, $i < count($arr); ++$i) 
{ 
    if(! ($i + 1) % 3) 
    { 
     continue; 
    } 

    echo $arr[$i - 2] . $arr[$i - 1] . $arr[$i] 
} 
+2

爲什麼不只是增加3而不是if語句? –

+0

好問題,我沒有想到,我只是剛剛醒來!感謝指針 –