2011-07-27 15 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をキーとして、どのようにグループとして2つの番号を作るのですか?php foreachをキーとしてグループごとに2つずつ

私は出力したい:

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

答えて

22

array_chunk()機能を見てください。あなたはこのようにそれを使うだろう、あなたの場合は

:あなたが直接彼らのインデックスをチェックするcount()を使用することを忘れないでくださいを使用して要素にアクセスする予定ので、もし最後の反復$values中に

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

は一つだけの要素を持っています配列の要素数

+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 ","; 
    } 
} 
?> 
関連する問題