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" } }

相关推荐
勤劳的进取家几秒前
传输层基础
运维·开发语言·学习·php
天疆说17 分钟前
Ubuntu 安装微软核心字体
ubuntu·microsoft·php
YaBingSec18 分钟前
玄机网络安全靶场:Apache HTTPD 解析漏洞(CVE-2017-15715)WP
java·笔记·安全·web安全·php·apache
chaofan9801 小时前
突破大模型落地瓶颈:Claude 4.7 与 GPT-5.5 长上下文工程实测
数据库·人工智能·python·gpt·自动化·php·api
StockTV1 小时前
韩国股票实时数据 KOSPI(主板)和 KOSDAQ(创业板)的实时行情、K 线及指数数据
java·开发语言·算法·php
合天网安实验室13 小时前
记录一个免杀的php webshell demo
渗透测试·php·webshell·免杀
AnalogElectronic13 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
跨境数据猎手15 小时前
跨境独立站系统技术拆解(附带源码)
服务器·前端·php
淘矿人16 小时前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame
带娃的IT创业者18 小时前
深度解析:从零构建高性能 LLM API 中转网关与成本优化实战
开发语言·gpt·llm·php·高性能·成本优化·api网关