我有一个数组:
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'
)
)
...
我需要获取最新日期的两个产品并将它们移动到数组的开始。我已经调查了multisort函数,可以像这样对数组进行排序,但是整个数组都会按照日期排列,我想保留数组的顺序,只是把最近的两行推上去。我需要从数组中挑选出最近的两个(按日期排序),然后将它们移动到数组的开始。因此id的顺序应该是:
3,4,1,2,5
最新的2个已经移到数组的前面,其余的仍按id排序。
foreach
或array_reduce
),然后将其使用array_splice
和array_merge
合并回来。 - deceze