Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php 二维数组排序 按某个字段排序

作者:资本principal   发布日期:2026-03-15   浏览:32

<?php
// 示例二维数组
$items = [
    ['name' => 'Alice', 'age' => 25],
    ['name' => 'Bob', 'age' => 30],
    ['name' => 'Charlie', 'age' => 20]
];

// 定义一个函数来获取指定字段的值
function cmp($a, $b, $field) {
    if ($a[$field] == $b[$field]) {
        return 0;
    }
    return ($a[$field] < $b[$field]) ? -1 : 1;
}

// 使用 usort 函数对二维数组进行排序
usort($items, function($a, $b) {
    return cmp($a, $b, 'age'); // 按 'age' 字段排序
});

// 输出排序后的数组
print_r($items);
?>

解释说明:

  1. 定义二维数组$items 是一个包含多个关联数组的二维数组,每个子数组代表一个对象(如人),并包含多个键值对(如 nameage)。
  2. 定义比较函数cmp 函数用于比较两个元素中指定字段的值。它接受三个参数:两个要比较的元素 $a$b,以及要比较的字段名 $field
  3. 使用 usort 排序usort 函数用于对数组进行用户自定义排序。我们传递一个匿名函数给 usort,该匿名函数调用 cmp 函数,并指定按 age 字段排序。
  4. 输出结果:最后使用 print_r 输出排序后的数组。

这样就可以实现按指定字段(如 age)对二维数组进行排序。

上一篇:php count

下一篇:php 代码加密

大家都在看

php session用法

php 定义常量

php soapclient

phpisset函数

php html转图片

php后端

php爬虫框架

php多线程与并发

php读取csv文件

php+mysql动态网站开发

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站