当前位置:首页 > PHP

php实现组合排序 代码实现

2026-01-30 05:38:38PHP

PHP实现组合排序代码

组合排序通常指按照多个字段或条件对数据进行排序。以下是几种常见的PHP实现方式:

php实现组合排序 代码实现

使用usort自定义排序函数

$data = [
    ['name' => 'John', 'age' => 28, 'score' => 85],
    ['name' => 'Alice', 'age' => 25, 'score' => 92],
    ['name' => 'Bob', 'age' => 25, 'score' => 80]
];

usort($data, function($a, $b) {
    // 先按age升序,再按score降序
    if ($a['age'] != $b['age']) {
        return $a['age'] - $b['age'];
    }
    return $b['score'] - $a['score'];
});

print_r($data);

使用array_multisort实现多列排序

$names = array_column($data, 'name');
$ages = array_column($data, 'age');
$scores = array_column($data, 'score');

// 先按age升序,再按score降序
array_multisort(
    $ages, SORT_ASC,
    $scores, SORT_DESC,
    $data
);

print_r($data);

对象集合的排序

class User {
    public $name;
    public $age;
    public $score;

    public function __construct($name, $age, $score) {
        $this->name = $name;
        $this->age = $age;
        $this->score = $score;
    }
}

$users = [
    new User('John', 28, 85),
    new User('Alice', 25, 92),
    new User('Bob', 25, 80)
];

usort($users, function($a, $b) {
    if ($a->age != $b->age) {
        return $a->age <=> $b->age;
    }
    return $b->score <=> $a->score;
});

print_r($users);

使用太空船操作符(PHP 7+)

usort($data, function($a, $b) {
    return [$a['age'], $b['score']] <=> [$b['age'], $a['score']];
});

这些方法可以根据实际需求调整排序字段和顺序。对于大型数据集,array_multisort通常性能更好,而usort提供更灵活的排序逻辑控制。

标签: 组合代码
分享给朋友:

相关文章

vue分页代码实现

vue分页代码实现

Vue 分页代码实现 在 Vue 中实现分页功能通常需要结合后端 API 返回的数据和前端的分页组件。以下是一个完整的实现示例,包括分页组件的封装和与后端数据的交互。 分页组件封装 创建一个可复用的…

vue拖拽实现低代码

vue拖拽实现低代码

Vue拖拽实现低代码方案 基于现成库的方案(推荐) 使用成熟的拖拽库可以快速实现低代码功能,例如: vuedraggable:基于Sortable.js的Vue拖拽组件 vue-draggable-…

vue代码实现清除缓存

vue代码实现清除缓存

清除浏览器缓存的方法 在Vue项目中清除缓存通常涉及版本控制、强制刷新或服务端配置。以下是几种常见实现方式: 修改文件名添加哈希 通过webpack配置在打包时为静态文件添加哈希值,确保每次更新后文…

vue 实现 代码编辑功能

vue 实现 代码编辑功能

实现代码编辑功能的基本思路 在Vue中实现代码编辑功能通常需要借助第三方库,例如Monaco Editor(VS Code使用的编辑器)或CodeMirror。以下是两种常见方案的实现方法。 使用M…

css制作代码大全

css制作代码大全

CSS 基础语法 CSS(层叠样式表)通过选择器和声明块控制页面样式。基本语法如下: 选择器 { 属性: 值; 属性: 值; } 示例: body { font-family:…

php评论功能实现代码

php评论功能实现代码

数据库设计 创建一个评论表存储评论数据,表结构可包含以下字段: id:评论唯一标识,主键自增 content:评论内容,TEXT类型 user_id:用户ID,关联用户表 article_id:文章…