php foreach为关键,每两个数字作为一个组

时间:2011-07-27 23:42:35

标签: php foreach

<?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为关键,如何将每两个数字作为一个组?

我想输出:

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

2 个答案:

答案 0 :(得分:23)

查看array_chunk()功能。

在你的情况下,你会像这样使用它:

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

在上一次迭代期间$values只有一个元素,所以如果你打算直接使用它们的索引访问元素,记得使用count()来检查数组的元素数。

答案 1 :(得分: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 ",";
    }
}
?>