0

我正在尝试使用数组和循环对所有内容进行排序
让我们说这是一个数组,

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

我想选择其中的前三个用作
$arr[0]、$arr[1] 和 $arr[2]
这最终得到一个、两个、三个
我想在下一个 3 中使用相同的 ..
一些东西打破它并再次使用相同的 0 1 2 索引以返回第二个 3
这是一个解释更多的例子,

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

我想要做的是使用数组的每三个数组稍后使用它们

4

2 回答 2

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";
}
于 2012-06-04T12:23:15.433 回答
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]
}
于 2012-06-04T12:26:54.960 回答