PHP前3然后再次突破并继续?

时间:2012-06-04 12:20:08

标签: php arrays loops

我正在尝试使用array& amp;循环
让我们说这是一个数组,

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

我想选择前三个用作
$ arr [0],$ arr [1]和$ arr [2]
这最终得到一,二,三 我想在接下来的3中使用相同的东西。
打破它的东西,再次使用相同的0 1 2指数返回第二个三 这是一个解释更多的例子,

$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
   }

我想尝试做的是使用数组的每三个数组以后再使用它们

2 个答案:

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

答案 1 :(得分: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]
}