У меня возникла простая проблема с упорядочением элементов массива. Давайте предположим, что мы имеем массив как этотРедактировать размещение массива
[0]=>zero
[1]=>one
[2]=>two
[3]=>three
Что я хочу это способ переместить некоторые элементы в первую позицию, например, переместить один и два на первые позиции, так у меня будет:
[1]=>one
[2]=>two
[0]=>zero
[3]=>three
и это должно быть сделано, не зная текущую позицию элемента в массиве, что означает, что это должно быть сделано путем указания имени желаемого элемента для перемещения. Я думал о array_splice(), но это не сработает, так как я должен указать ключ элемента в массиве.
@ roberto66 Это работает нормально, но у него есть некоторые проблемы, как порядок элементов – Yassine
$ array = array ('zero', 'one', 'two', 'three'); $ search_values = array ('one', 'three', 'two'); $ array_first = $ array_second = array(); foreach ($ array as $ key => $ value) { if (in_array ($ value, $ search_values)) $ array_first [$ key] = $ value; else $ array_second [$ key] = $ value; } $ array_end = $ array_first + $ array_second; print_r ($ array_end); ?> – Yassine
Вместо вывода одного трех двух нулей он выводит один два три нуля – Yassine