问题描述对数组进行排序,先对a字段正序排序,但0排到最后,再对b字段逆序排序实现代码//对数组进行排序,先对a字段正序排序,但0排到最后,再对b字段逆序排序$a1=array(array('a'=>1,'b'=>1),array('a'=>2,'b'=>1),array('a'=>1,'b'=>2),array('a'=>0,'b'=>1),array('a'=>1,'b'=>3),array('a'=>2,'b'=>2),array('a'=>0,'b'=>2),array('a'=>2,'b'=>3));//对a排序functionmy_sort1($a,$b){if($a['a']==0){return1;}if($b['a']==0){return-1;}if($a['a']>$b['a']){return1;}return-1;}//对b排序functionmy_sort2($a,$b){if($a['a']==$b['a']){if($a['b']<$b['b']){return1;}elseif($a['b']>$b['b']){return-1;}}return0;}usort($a1,"my_sort1");usort2($a1,"my_sort2");返回结果php7.2返回结果正常Array([0]=>Array([a]=>1[b]=>3)[1]=>Array([a]=>1[b]=>2)[2]=>Array([a]=>1[b]=>1)[3]=>Array([a]=>2[b]=>3)[4]=>Array([a]=>2[b]=>2)[5]=>Array([a]=>2[b]=>1)[6]=>Array([a]=>0[b]=>2)[7]=>Array([a]=>0[b]=>1))php5.6返回结果有问题Array([0]=>Array([a]=>0[b]=>2)[1]=>Array([a]=>0[b]=>1)[2]=>Array([a]=>2[b]=>3)[3]=>Array([a]=>2[b]=>2)[4]=>Array([a]=>2[b]=>1)[5]=>Array([a]=>1[b]=>3)[6]=>Array([a]=>1[b]=>2)[7]=>Array([a]=>1[b]=>1))思考**查阅了相关信息,函数php7并没有修改usort方法疑问:是否php7版本对php数组进行了修改如果有大神知道的,还望不吝赐教!**
海绵宝宝撒
相关分类