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

相关推荐
不正经的小寒9 小时前
PHP 8.4 核心特性
php
不正经的小寒11 小时前
PHP 8.3 核心特性
php
安妮的小熊呢14 小时前
CRMEB开源商城系统 & 标准版系统(PHP)开发规范
开发语言·javascript·php
在角落发呆15 小时前
跨越网络鸿沟:传统文件传输与现代内网穿透的奇妙交响
开发语言·php
minji...17 小时前
Linux 网络基础之网络IP层(十)IP 协议,网段划分,IP地址相关问题
linux·运维·服务器·网络·tcp/ip·智能路由器·php
枫叶林FYL18 小时前
【强化学习】2 大规模并行强化学习中的耦合策略优化:受控多样性驱动的样本高效探索
开发语言·php
zb2006412019 小时前
Laravel 8.x新特性全解析
php·laravel
code monkey.19 小时前
【Linux之旅】Linux 网络基础全解析:从协议分层到 Socket 编程,构建高性能网络服务的底层基石
linux·网络·php
我命由我1234519 小时前
PHP - PHP 基本随机数生成函数
开发语言·ide·后端·java-ee·php·intellij-idea·intellij idea
我命由我1234519 小时前
PHP - PHP 简易 Web 服务器、基础接口开发
服务器·开发语言·前端·php·intellij-idea·idea·intellij idea