При редактировании строки изменить ее положение?
Всем привет, есть текстовый файлик с строками такого вида:
1|Владимир|2000||1|
2|Олег|2000||1|
3|Виталий|2000||1|
4|Евгений|2000||1|
5|Станислав|2000||1|
Строки читаются с верху в низ. Вывод через цикл for.
Как при редактировании зная позицию строки можно переместить ее строго после первых двух? Тобишь есть строка Станислав ее ид 5 и позиция 4 (в массиве же от 0) и как эту позицию перенести на 3-ю?
Ответы (1 шт):
Автор решения: Денис Сепетов
→ Ссылка
Например вот так:
$element = $a[5];
unset($a[5]);
$result = array_merge(array_slice($a, 0, 2), [$element], array_slice($a, 2));
Здесь $a - это ваш исходный массив, по которому вы, как я понял, проходитесь циклом. Функция array_slice() делит массив на части: в первой оказываются три начальных элемента, во второй - все остальные. Функция array_merge() потом соединяет их обратно, вставляя между ними то, что вы захотите.