Есть ли способ в PHP, чтобы переместить определенную итерацию в определенную позицию в цикле?
Например, у меня есть массив:
1, 2, 3, 4, 5, 6, 7, 8, 9
У нас есть массив от 1 до 9, но я хочу, чтобы 5 был помещен в конце итерации, чтобы результат выглядел так:
1
2
3
4
6
7
8
9
5
Неясно, что вы спрашиваете. В любом случае вы можете получить требуемый результат, используя unset
а также [] operator
$element = $array[4];
unset($array[4]);
$array[] = $element;
Жить: http://codepad.org/cWZHjJwy
Если вам нужно искать только 5, то просто получите ключ с array_search()
:
$key = array_search(5,$array);
unset($array[$key]);
$array[] = 5;
Этот код ниже найдет позицию числа 5, удалит ее и добавит в конец массива. Наконец мы перебираем значения.
$numbers = range(1, 9);
// find the position of value 5
$position = array_search(5, $numbers);
// save the value and remove from array
$value = $numbers[$position];
unset($numbers[$position]);
// add it back at the end
$numbers[] = $value;
// print the values
foreach ($numbers as $number) {
echo $number . ' ';
}
1 2 3 4 6 7 8 9 5