2011-07-27 36 views
5
<?php 
$data=array('1','2','3','4','5','6','7','8','9','10','11'); 
foreach($data as $key=> $element){ 
    if($key % 2 != 0){ 
     echo $element.'<br />'; 
    } 
    echo '<hr />'; 
} 
?> 

php foreach as key,如何將每兩個數字作爲一個組?php foreach as key,每兩個數字作爲一組

我想輸出:

1,2 
_____ 
3,4 
_____ 
5,6 
_____ 
7,8 
_____ 
9,10 
_____ 
11 

回答

22

看一看的array_chunk()功能。

在你的情況,你會使用這樣的:

foreach(array_chunk($data, 2) as $values) { 
    echo implode(',', $values)."\n"; 
} 

在最後一次迭代$values將只有一個元素,所以如果你計劃訪問的元素直接使用其指數記得用count()檢查數組的元素數量。

+1

很棒的功能,謝謝。 –

+0

真棒!這對我今天完全有幫助!謝謝!! – JCBiggar

7

你的foreach()很好,但你想打印每一個元素,而不是每一個元素。你也不希望每一次都是橫向的規則,甚至每一次。因此:

<?php 
$data=array('1','2','3','4','5','6','7','8','9','10','11'); 
foreach($data as $key=> $element){ 
    echo $element; 
    if($key % 2 != 0){ 
     echo "<br/><hr />"; 
    } 
    else { 
     echo ","; 
    } 
} 
?>