循环数组并按组显示数据

时间:2014-10-17 16:39:56

标签: php loops

我尝试按组循环显示数据,实际上我有多个元素的数组,需要在4,5组等中显示

我举了例子:

$array_values=array(
  "2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3",
  "5","2","3","5","2","3","5","2","3","5","2","3","5"
);

$c=0;
foreah($array_values as $array_value) {
  print $array_value

  if($c%3) {
    print "<br><br>";
  }
  $c++;   
}

正如您在示例中所见,在这种情况下,我想要放“&lt; br&gt;” ,循环中的每个3个元素,在其他情况下可以是每个4个或更多元素,我尝试这个但是没有得到好的结果,在某些情况下在其他情况下表现良好所有不好

我不知道我怎么能这样做,谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

你需要检查$c%3的剩余部分是否为0.但是如果你想在另一种情况下将它作为另一个长度,那么你必须加入它。但是这应该让你开始。< / p>

$array_values=array("2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3","5","2","3","5");

$c=1;
foreach($array_values as $array_value)
{
    print $array_value;

    if($c%3 === 0)
    {
        print "<br><br>";
    }
    $c++;   
}

运行它给我这个输出:

235

235

235

235

235

235

235

235

235

235

答案 1 :(得分:0)

与所有解决方案一样,实现目标的方法不止一种。

您可以使用array_slice一次从数组中获取值3。

for ($c = 0; $c < count($array_values); $c+=3)     {
    print(implode(array_slice($array_values, $c, 3)));
    print "<br><br>";
}

您还可以使用array_chunk将数组拆分为3个区段:

foreach (array_chunk($array_values, 3) as $row) {
    print(implode($row));
    print "<br><br>";
}