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

在PHP中的foreach循环期间返回数组的开头(循环)?,php,arrays,foreach,cyclic,Php,Arrays,Foreach,Cyclic,当您到达PHP foreach循环中数组的末尾时,是否仍然需要从头开始 我正在用JS和PHP为一群不同的人构建一个图表。我希望图表上的每个人都有不同的颜色,但人数不一,不得而知 我已经构建了一个十六进制代码数组来循环,但问题是当人数超过数组中十六进制代码的数量时,就会抛出一个错误 我意识到我可以复制和粘贴十六进制代码,直到有超过人数的人,但这似乎不是一个非常优雅的解决方案 有什么想法吗?好吧,假设N是你的C数组(颜色)的长度,p是你的人物数组 将foreach循环单独保留,并使用带有i的普通旧f

当您到达PHP foreach循环中数组的末尾时,是否仍然需要从头开始

我正在用JS和PHP为一群不同的人构建一个图表。我希望图表上的每个人都有不同的颜色,但人数不一,不得而知

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

我意识到我可以复制和粘贴十六进制代码,直到有超过人数的人,但这似乎不是一个非常优雅的解决方案


有什么想法吗?

好吧,假设
N
是你的
C
数组(颜色)的长度,
p
是你的人物数组


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

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

for($i=0;$i<count($hex_array);$i++)
{
  if($i>=(count($hex_array)-1))
  {
    $i=0;
  }
enter code here
}
for($i=0;$i=(计数($hex_数组)-1))
{
$i=0;
}
在这里输入代码
}

要回答您的问题,请使用


也就是说,对于您需要执行的操作,这可能不是最明智的解决方案,@David Jesh提出了一个很好的建议。

递归函数,也许?使用函数
reset