当前位置:首页 > 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顺序:

php排序实现

$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 登录功能实现 数据库连接与用户表创建 创建一个数据库连接文件 db.php,用于管理数据库连接。MySQL 示例代码如下: <?php $host = 'localhost'; $db…

php队列的实现

php队列的实现

PHP队列的实现方式 PHP中实现队列功能可以通过多种方式,根据需求选择适合的方案: 使用数组实现基础队列 PHP数组本身支持队列操作,利用array_push和array_shift函数: $q…

php实现一个

php实现一个

PHP 实现一个简单的计算器 创建一个基本的计算器,支持加、减、乘、除运算。以下是一个完整的实现代码示例: <?php $result = ""; if ($_SERVER["REQUEST_…

php实现统计

php实现统计

PHP 实现统计功能 在 PHP 中实现统计功能通常涉及数据的收集、处理和展示。以下是一些常见的统计实现方法: 数据库数据统计 通过 SQL 查询可以直接从数据库中获取统计结果: $conn =…

php数组实现

php数组实现

PHP 数组的基本实现 PHP 数组是一种非常灵活的数据结构,可以存储多个值,并且支持多种类型的键(整数或字符串)。PHP 数组实际上是有序映射(ordered map),可以看作是列表(vector…

php 线程实现

php 线程实现

PHP 线程实现方法 PHP 本身是单线程语言,但可以通过扩展或库实现多线程功能。以下是几种常见的实现方式: 使用 pthreads 扩展 pthreads 是一个 PHP 扩展,允许在 PHP 中…