PHP多维数组按指定字段排序usort自定义排序方法(或使用太空船操作符 <=> 进行比较,默认按升序排序)

有个需求,一个多维数组 list,要求按'sort'字段进行排序, list数组数据格式如下:

array(12) {

0\]=\> array(10) { \["id"\]=\> "21005421" \["cnt"\]=\> "2" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "14.52%" \["sort"\]=\> "4" } \[1\]=\> array(10) { \["id"\]=\> "21005422" \["cnt"\]=\> "3" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "4.12%" \["sort"\]=\> "2" } \[2\]=\> array(10) { \["id"\]=\> "21005425" \["cnt"\]=\> "2" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "11.02%" \["sort"\]=\> "3" } } 可以用usort函数实现快速排序: > ``` > //按数组值大小升序排序 > usort($list,function($a, $b) { > return $a['sort'] - $b['sort']; // 升序排序 > }); > ``` > > // 或使用太空船操作符 \<=\> 进行比较,默认按升序排序 > > usort($data, function($a, $b) { > > return $a\['sort'\] \<=\> $b\['sort'\]; > > }); > > ``` > > ``` 执行后var_dump($list) 返回了预期的升序排序如下: array(12) { \[0\]=\> array(10) { \["id"\]=\> "21005422" \["cnt"\]=\> "3" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "4.12%" \["sort"\]=\> "2" } \[1\]=\> array(10) { \["id"\]=\> "21005425" \["cnt"\]=\> "2" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "11.02%" \["sort"\]=\> "3" } \[2\]=\> array(10) { \["id"\]=\> "21005421" \["cnt"\]=\> "2" \["pv"\]=\> "651" \["uv"\]=\> "606" \["g_name"\]=\> string(51) "话费红包 10 元(支付宝话费立减金)ZM" \["order_rate"\]=\> "14.52%" \["sort"\]=\> "4" } }

相关推荐
Vect__1 小时前
TCP Socket编程详解
网络协议·tcp/ip·php
REDcker1 小时前
TCP 拥塞控制算法详解:CUBIC、BBR 及传统算法
tcp/ip·算法·php
小学导航员3 小时前
VMWARE虚拟机上不了网络
服务器·网络·php
上海合宙LuatOS4 小时前
LuatOS ——fota 升级教程
开发语言·人工智能·单片机·嵌入式硬件·物联网·php·硬件工程
AI量化价值投资入门到精通4 小时前
数据清洗:大数据领域的必备技能
大数据·开发语言·ai·php
小邓睡不饱耶7 小时前
基于Spark GraphX构建用户信任网络:精准定位高价值目标用户
大数据·spark·php
toooooop819 小时前
php BC MATH扩展函数计算精度-第三个参数
开发语言·php
青岑CTF20 小时前
攻防世界-Php_rce-胎教版wp
开发语言·安全·web安全·网络安全·php
catchadmin1 天前
Laravel AI SDK 在 Laracon India 2026 首次亮相
人工智能·php·laravel
云游云记1 天前
php 高精度数学扩展 bcmath 知识笔记
笔记·php·bcmath