我有这种数组array(5) { [0]=> array(5) { [0]=> string(7) "jannala" [1]=> string(10) "2009-11-16" [2]=> string(29) " <p>Jotain mukavaa.</p> " [3]=> int(12) [4]=> int(1270929600) } [1]=> array(5) { [0]=> string(7) "jannala" [1]=> string(10) "2009-11-16" [2]=> string(51) " <p>Saapumiserä II/09 astuu palvelukseen</p> " [3]=> int(11) [4]=> int(1270929600) } ...}我需要做的是基于数组的[x] [4](Unix时间戳值)对数组进行排序。我将如何实现?
3 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
使用比较函数,在这种情况下,它将比较数组的unix时间戳值:
function compare($x, $y) {
if ( $x[4] == $y[4] )
return 0;
else if ( $x[4] < $y[4] )
return -1;
else
return 1;
}
然后使用如下usort函数调用它:
usort($nameOfArray, 'compare');
该函数将使用用户提供的比较函数按其值对数组进行排序。如果您希望排序的数组需要按照一些非平凡的条件进行排序,则应使用此函数。
取自PHP:usort手册。
慕虎7371278
TA贡献1802条经验 获得超4个赞
我最初的想法是:将每个嵌套数组包装在一个对象(类的实例)中,以便一旦按特定字段排序(在本例中为unix时间戳),则可以使用相同的字段轻松访问其他信息对象参考。
因此,嵌套的数组数组可能会成为对象数组,每个对象都有一个“ sort”方法。
添加回答
举报
0/150
提交
取消