当前位置:首页 > PHP

php排序实现

2026-01-29 08:22:03PHP

数组排序

PHP提供了多种内置函数用于数组排序,适用于不同需求。sort()函数对数组进行升序排序,并重新索引键名:

$numbers = [4, 2, 8, 6];
sort($numbers);
print_r($numbers); // 输出: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )

rsort()实现降序排序,同样会重置键名:

rsort($numbers);
print_r($numbers); // 输出: Array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )

关联数组排序需使用asort()(保持键值关联升序)或arsort()(降序):

$age = ["Peter"=>35, "Ben"=>37, "Joe"=>43];
asort($age);
print_r($age); // 输出: Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )

自定义排序

通过usort()可实现自定义比较逻辑。以下示例按字符串长度排序:

function cmp($a, $b) {
    return strlen($a) - strlen($b);
}
$words = ["apple", "banana", "cherry"];
usort($words, "cmp");
print_r($words); // 输出: Array ( [0] => apple [1] => cherry [2] => banana )

对多维数组排序时,需指定比较字段:

$users = [
    ['name' => 'Tom', 'age' => 28],
    ['name' => 'Alice', 'age' => 22]
];
usort($users, function($a, $b) {
    return $a['age'] - $b['age'];
});

键名排序

ksort()krsort()分别按键名升序和降序排列:

$fruits = ["d"=>"lemon", "a"=>"orange", "b"=>"banana"];
ksort($fruits);
print_r($fruits); // 输出: Array ( [a] => orange [b] => banana [d] => lemon )

自然排序

natsort()采用自然顺序算法,适合含数字的字符串:

$files = ["img12.png", "img10.png", "img2.png"];
natsort($files);
print_r($files); // 输出: Array ( [2] => img2.png [1] => img10.png [0] => img12.png )

多数组排序

array_multisort()可同时对多个数组排序。以下示例先按$age排序,再同步调整$name顺序:

$name = ["Tom", "Alice", "Bob"];
$age = [28, 22, 25];
array_multisort($age, $name);
print_r($name); // 输出: Array ( [0] => Alice [1] => Bob [2] => Tom )

php排序实现

标签: php
分享给朋友:

相关文章

php实现文件下载

php实现文件下载

PHP 实现文件下载的方法 使用 header() 函数强制下载 设置正确的 HTTP 头信息,强制浏览器下载文件而不是直接打开。 $file = 'path/to/file.pdf'; if (…

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

php实现树

php实现树

PHP实现树结构的方法 在PHP中实现树结构通常可以通过递归或迭代的方式完成。以下是几种常见的实现方法: 递归实现树结构 递归是处理树结构的自然方式,尤其适用于具有未知深度的树。 class…

php实现socket

php实现socket

PHP 实现 Socket 通信 PHP 可以通过 socket 扩展实现网络通信,支持 TCP/UDP 协议。以下是实现 Socket 通信的核心步骤和代码示例。 创建 TCP 服务器 // 创建…

php实现增删改查

php实现增删改查

以下是在PHP中实现增删改查(CRUD)操作的详细方法,以MySQL数据库为例: 数据库连接配置 创建config.php文件存储数据库连接信息: <?php $host = 'localh…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_sh…