<?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);
?>
$items 是一个包含多个关联数组的二维数组,每个子数组代表一个对象(如人),并包含多个键值对(如 name 和 age)。cmp 函数用于比较两个元素中指定字段的值。它接受三个参数:两个要比较的元素 $a 和 $b,以及要比较的字段名 $field。usort 排序:usort 函数用于对数组进行用户自定义排序。我们传递一个匿名函数给 usort,该匿名函数调用 cmp 函数,并指定按 age 字段排序。print_r 输出排序后的数组。这样就可以实现按指定字段(如 age)对二维数组进行排序。
上一篇:php count
下一篇:php 代码加密
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站