为了账号安全,请及时绑定邮箱和手机立即绑定

在PHP中排序多维数组?

在PHP中排序多维数组?

我有这种数组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手册。


查看完整回答
反对 回复 2019-10-12
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

我最初的想法是:将每个嵌套数组包装在一个对象(类的实例)中,以便一旦按特定字段排序(在本例中为unix时间戳),则可以使用相同的字段轻松访问其他信息对象参考。


因此,嵌套的数组数组可能会成为对象数组,每个对象都有一个“ sort”方法。


查看完整回答
反对 回复 2019-10-12
  • 3 回答
  • 0 关注
  • 480 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信