这是一个创建于 3358 天前的主题,其中的信息可能已经有所发展或是发生改变。
数组大概结构,数量不限,用递归解决;
$arr = array
0 =>
array (size=15)
'id' => int 3
'title' => string '搜狐自媒体线下活动趴' (length=30)
'status' => int 3
'created_at' => string '2015-07-12 21:26:17' (length=19)
1 =>
array (size=15)
'id' => int 3
'title' => string '搜狐自媒体线下活动趴' (length=30)
'status' => int 2
'created_at' => string '2015-07-10 21:26:17' (length=19)
大概如此,排序2个关键:
A. 优先按照status 按照[3,1,4,2]的数值顺序排序
B. 次要排序条件是created_at DESC
关键问题:
1. 当有多个数据都是status为3时,由于3是排在最前的,他们的次要排序条件是created_at
2. 当多个数据都是status为4时,这类由于应该在中后,同时同样都是status为4的数据也按照created_at 进行DESC
=V= 我始终还是将代码抱持在了约50行,感觉还有优化的空间。(用了array_multisort)
大家一般是如何递归实现的呢?
----
更新,已10行搞定-.- 也没用array_*了。求更有趣的方案。