當你到達一個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 –