Возврат к началу массива во время цикла foreach в PHP (циклический)?
Когда вы достигнете конца массива в цикле PHP foreach, есть ли способ просто начать сначала?
Я строю график, используя JS и PHP группы разных людей. Я хотел бы иметь разные цвета для каждого человека на графике, но количество людей варьируется и неизвестно.
Я построил массив шестнадцатеричных кодов для обхода, но проблема в том, что когда число людей превышает количество шестнадцатеричных кодов в массиве, выдается ошибка.
Я понял, что могу просто копировать и вставлять шестнадцатеричные коды, пока их не станет больше, чем людей, но это не выглядит как очень элегантное решение.
Какие-нибудь мысли?
3 ответа
Ну скажем N
длина вашего C
массив (цвета) и P
это ваш массив людей.
Оставьте цикл foreach в покое и используйте обычный старый для цикла с i
как переменная цикла. Тогда для человека P[i]
цвет будет C[i%N]
Чтобы ответить на ваш вопрос, используйте reset()
Тем не менее, это может быть не самым мудрым решением для того, что вам нужно сделать, и @David Jesh сделал хорошее предложение.
Может быть, вы можете использовать цикл for вместо foreach и сделать что-то, как показано ниже.
for($i=0;$i<count($hex_array);$i++)
{
if($i>=(count($hex_array)-1))
{
$i=0;
}
enter code here
}