在PHP(Cyclic)的foreach循环中返回数组的开头?

时间:2013-05-29 11:54:54

标签: php arrays foreach cyclic

当你在PHP foreach循环中到达数组的末尾时,无论如何只是从头开始再次?

我正在使用一组不同人的JS和PHP构建图表。我希望图表上的每个人都有不同的颜色,但人数会有所不同而且未知。

我已经构建了一个十六进制代码数组来循环,但问题是当人数超过数组中十六进制代码的数量时会抛出错误。

我意识到我可以复制并粘贴十六进制代码,直到人数超过人数但它看起来不是一个非常优雅的解决方案。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

好吧,假设NC数组(颜色)的长度,而P是你的人数组。

单独保留foreach循环并使用普通的旧for循环,i作为循环变量。然后,对于P[i]人,颜色将为C[i%N]

答案 1 :(得分:0)

可能您可以使用'for'循环而不是'foreach',并执行以下操作。

for($i=0;$i<count($hex_array);$i++)
{
  if($i>=(count($hex_array)-1))
  {
    $i=0;
  }
enter code here
}

答案 2 :(得分:0)

要回答您的问题,请使用reset()

那就是说,它可能不是你需要做的最明智的解决方案,@ David Jesh提出了一个很好的建议。