本文俺将使用
PHP5.2或更老版本
如果你仍然在PHP 5.2版本或更老版本,你必须先定义一个排序函数:
function sortByOrder($a, $b) {
return $a['order'] - $b['order'];
}
usort($myArray, 'sortByOrder');
PHP5.3
从PHP5.3开始,你可以使用匿名函数,因此上面的代码可以修改为:
usort($myArray, function($a, $b) {
return $a['order'] - $b['order'];
});
PHP5.7
从PHP5.7开始,你可以使用<=>操作符。
usort($myArray, function($a, $b) {
return $a['order'] <=> $b['order'];
});
为了将其扩展到多维排序,如果第一个排序元素为零,请引用第二个/第三个排序元素——最好在下面解释。您还可以使用它对子元素进行排序。
usort($myArray, function($a, $b) {
$retval = $a['order'] <=> $b['order'];
if ($retval == 0) {
$retval = $a['suborder'] <=> $b['suborder'];
if ($retval == 0) {
$retval = $a['details']['subsuborder'] <=> $b['details']['subsuborder'];
}
}
return $retval;
});
原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/4490.html