php 二维数组前10,PHP二维数组按照某个值排序

本文介绍了PHP中数组排序函数的演进,从PHP5.2的自定义排序函数到PHP5.3引入的匿名函数,再到PHP5.7的三元运算符排序。示例代码展示了如何根据'order'、'suborder'和'subsuborder'字段对多维数组进行排序。适合PHP开发者了解版本差异和排序技巧。
摘要由CSDN通过智能技术生成

9876214f73fbd4750c740839f21401b5.png

本文俺将使用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值