当你到达一个PHP foreach循环中的数组的末尾时,是否还有从头再次开始?在PHP(循环)的foreach循环期间返回到数组的开头?
我正在建立一个使用JS和PHP的一组不同的人。我想为图表上的每个人呈现不同的颜色,但人数不尽相同。
我已经建立了一个十六进制代码循环数组,但问题是,当人数超过数组中的十六进制代码数时会抛出一个错误。
我意识到我可以复制和粘贴十六进制代码,直到人数超过人数,但它似乎不是一个非常优雅的解决方案。
有什么想法?
当你到达一个PHP foreach循环中的数组的末尾时,是否还有从头再次开始?在PHP(循环)的foreach循环期间返回到数组的开头?
我正在建立一个使用JS和PHP的一组不同的人。我想为图表上的每个人呈现不同的颜色,但人数不尽相同。
我已经建立了一个十六进制代码循环数组,但问题是,当人数超过数组中的十六进制代码数时会抛出一个错误。
我意识到我可以复制和粘贴十六进制代码,直到人数超过人数,但它似乎不是一个非常优雅的解决方案。
有什么想法?
好吧,比方说N
是你的C
数组(颜色)的长度,而P
是你的人员数组。
单独离开foreach循环,并使用普通的老循环与i
作为循环变量。然后对于人P[i]
颜色将为C[i%N]
天才使用函数'reset' - 谢谢! – user2432283
也许您可以使用'for'循环而不是'foreach'并执行以下操作。
for($i=0;$i<count($hex_array);$i++)
{
if($i>=(count($hex_array)-1))
{
$i=0;
}
enter code here
}
要回答你的问题,使用reset()
这就是说,它可能不适合你需要做的最明智的解决方案,并@大卫洁圣取得了良好的建议。
递归函数,也许? – BlitZ
为此http://br.php.net/reset –