У меня есть массив:Переместить конкретные элементы массива в начало массива, не изменяя порядок остальных
Array
(
[product1] => Array
(
[id] => 1
[title] => 'p1'
[extra] => Array(
[date] => '1990-02-04 16:40:26'
)
)
[product2] => Array
(
[id] => 2
[title] => 'p2'
[extra] => Array(
[date] => '1980-01-04 16:40:26'
)
)
[product3] => Array
(
[id] => 3
[title] => 'p3'
[extra] => Array(
[date] => '2000-01-04 16:40:26'
)
)
[product4] => Array
(
[id] => 4
[title] => 'p4'
[extra] => Array(
[date] => '1995-01-04 16:40:26'
)
)
[product5] => Array
(
[id] => 5
[title] => 'p5'
[extra] => Array(
[date] => '1960-01-04 16:40:26'
)
)
...
Мне нужно, чтобы получить 2 продукты с последней датой и переместить их в начало массива.
Я рассмотрел функцию мультисортировки, и я мог бы отсортировать массив таким образом, но тогда весь массив будет упорядочен по дате, я хочу сохранить порядок массива, но просто поднять последние 2 строки ,
Мне нужно выбрать 2 последних (упорядочить по дате) из массива, а затем переместить их в начало массива. Таким образом, порядок идентификаторов должен быть:
3,4,1,2,5
Последние 2 были перемещены в передней части массива, а остальные по-прежнему отсортированы по идентификатору.
Можете ли вы опубликовать ожидаемый результат –
use array_shift() –
Не могли бы вы предоставить дополнительную информацию о том, чего вы пытаетесь достичь? –