PHP array_multisort() 函数怎么保持数字键不被重新索引
怪我咯
怪我咯 2017-04-10 15:12:42
0
1
752
php
$arr = array( '100'=>array('age'=>22,'name'=>'jack','date'=>'2014'), '110'=>array('age'=>23,'name'=>'mary','date'=>'2012'), '120'=>array('age'=>24,'name'=>'lilei','date'=>'2015') ); array_multisort对数组按age倒序后date倒序,然后120被重新索引为0,怎么保持呢?目前是用$arr_another = $arr保留原数组 //感谢公子 uasort($arr, function($a, $b) { if( $a['age'] === $b['age'] ){ return $a['date'] - $b['date']; } return $a['age'] - $b['age']; }); print_r($arr);
怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(1)
PHPzhong

新增加条件不是很懂,如果是要按照 age, date 的优先级进行排序的话直接这样写就好了:http://3v4l.org/MRYrt
如果是按照先进行一次 age 排序再进行一次 date 排序的话直接执行两次 uasort 不就好了么?代码见:http://3v4l.org/8FstY

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan