問題描述對數組進行排序,先對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']){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數組進行了修改如果有大神知道的,還望不吝賜教!**
php usort排序在php7.2和5.6版本中結果不一樣各位有什么建議?
大話西游666
2019-08-21 11:58:34