当前位置:首页 > PHP

php sort 实现

2026-01-29 09:26:51PHP

PHP 数组排序实现

PHP 提供了多种内置函数对数组进行排序,每种函数适用于不同的排序需求和数组类型。以下是常见的排序方法及其实现方式:

升序排序(sort

对数组值进行升序排序,键名会被重新索引:

$array = [3, 1, 4, 2];
sort($array);
print_r($array); // 输出: [1, 2, 3, 4]

降序排序(rsort

对数组值进行降序排序,键名会被重新索引:

$array = [3, 1, 4, 2];
rsort($array);
print_r($array); // 输出: [4, 3, 2, 1]

保持键值关联的升序排序(asort

对数组值进行升序排序,但保持键值与元素的关联:

php sort 实现

$array = ["b" => 2, "a" => 1, "c" => 3];
asort($array);
print_r($array); // 输出: ["a" => 1, "b" => 2, "c" => 3]

保持键值关联的降序排序(arsort

对数组值进行降序排序,但保持键值与元素的关联:

$array = ["b" => 2, "a" => 1, "c" => 3];
arsort($array);
print_r($array); // 输出: ["c" => 3, "b" => 2, "a" => 1]

按键名升序排序(ksort

对数组的键名进行升序排序:

$array = ["b" => 2, "a" => 1, "c" => 3];
ksort($array);
print_r($array); // 输出: ["a" => 1, "b" => 2, "c" => 3]

按键名降序排序(krsort

对数组的键名进行降序排序:

php sort 实现

$array = ["b" => 2, "a" => 1, "c" => 3];
krsort($array);
print_r($array); // 输出: ["c" => 3, "b" => 2, "a" => 1]

自然排序(natsort

对字符串数组进行自然排序(如人类理解的顺序):

$array = ["img10", "img2", "img1"];
natsort($array);
print_r($array); // 输出: ["img1", "img2", "img10"]

自定义排序(usort / uasort / uksort

通过回调函数自定义排序逻辑:

$array = [3, 1, 4, 2];
usort($array, function($a, $b) {
    return $a <=> $b; // 升序排序
});
print_r($array); // 输出: [1, 2, 3, 4]

多维数组排序

对多维数组按指定字段排序:

$users = [
    ["name" => "Alice", "age" => 30],
    ["name" => "Bob", "age" => 25],
    ["name" => "Charlie", "age" => 35]
];
usort($users, function($a, $b) {
    return $a["age"] <=> $b["age"]; // 按年龄升序
});
print_r($users);

注意事项

  • 默认的 sortrsort 会重置键名,适合索引数组。
  • asortarsort 适合关联数组,保留键值关系。
  • 自然排序(natsort)适用于包含数字的字符串排序。
  • 自定义排序(usort)可以实现复杂的排序逻辑。

标签: phpsort
分享给朋友:

相关文章

php 实现自动收货

php 实现自动收货

PHP 实现自动收货功能 自动收货功能通常用于电商系统,在订单超过一定时间未手动确认收货时自动完成订单。以下是实现方法: 数据库设计 需要订单表包含以下关键字段: CREATE TABLE…

php 购物车实现

php 购物车实现

数据库设计 购物车功能通常需要设计数据库表存储商品和用户信息。常见的表包括products(商品表)、users(用户表)和cart(购物车表)。cart表通常包含字段:id(主键)、user_id(…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…

php怎么实现登录功能

php怎么实现登录功能

数据库准备 创建用户表存储登录信息,通常包括用户名、密码(需加密)等字段。示例SQL: CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY…

php 实现跳转

php 实现跳转

PHP 实现页面跳转的方法 在PHP中,实现页面跳转可以通过多种方式完成,以下是几种常用的方法: 使用header函数 header函数是PHP中最常用的跳转方法,通过发送HTTP头部信息实现跳转。…

php 实现链表

php 实现链表

PHP 实现链表的方法 链表是一种线性数据结构,由节点组成,每个节点包含数据和指向下一个节点的指针。PHP 中可以通过类和对象来实现链表。 定义链表节点类 创建一个 ListNode 类,用于表示链…