`
Sarah-Brightman
  • 浏览: 75271 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

PHP数组排序

    博客分类:
  • php
阅读更多
PHP数组排序实际上就是将PHP数组进行排序,在本文中也就是对数据库查询出来的结果集进行排序。数据库查询结果有时候不能直接使用,比如mysql等用in语句出来的结果,因此需要对结果进行某种方式的排序。
PHP数组排序实际上就是将PHP数组进行排序,在本文中也就是对数据库查询出来的结果集进行排序。数据库查询结果有时候不能直接使用,比如mysql等用in语句出来的结果,因此需要对结果进行某种方式的排序。这时候就需要进行PHP数组排序了。对数据库结果进行排序请看下面的示例:

本例中data 数组中的每个单元表示一个表中的一行。这是典型的数据库存放数组数据的方式。
例子中的数据如下:
volume | edition
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

数据全都存放在名为 data 的数组中。这通常是通过循环从数据库取得的结果,例如 mysql_fetch_assoc()(实际上这个函数你可以和mysql_fetch_assoc()函数看成一样,具体的差别你可以看PHP的手册里面关于key的差别)。
$data[] = array('volume' => 67, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 1);
$data[] = array('volume' => 85, 'edition' => 6);
$data[] = array('volume' => 98, 'edition' => 2);
$data[] = array('volume' => 86, 'edition' => 6);
$data[] = array('volume' => 67, 'edition' => 7);

本例中将把 volume 降序排列,把 edition 升序排列。

现在有了包含有行的数组,但是 array_multisort() 需要一个包含列的数组,因此用以下代码来取得列,然后排序。
// 取得列的列表
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// 将数据根据 volume 降序排列,根据 edition 升序排列
// 把 $data 作为最后一个参数,以通用键排序
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);

数据集合现在排好序了,结果如下:
volume | edition
-------+--------
    98 |       2
    86 |       1
    86 |       6
    85 |       6
    67 |       2
    67 |       7

实际上真正在排序的时候还有很多方法可以使用,比如php的array数组自带的arsort(),asort(),ksort(),krsort(),natsort(),natcasesort(),rsort(),usort(),array_multisort() 和 uksort()。
本篇文章来源于 PHP资讯 原文链接:http://www.phpq.net/tutorial/php-array-sort.html
分享到:
评论

相关推荐

    PHP数组排序函数合集 以及它们之间的联系分析

    总结来说,PHP数组排序函数为开发者提供了灵活多样的选择,通过掌握这些函数及其参数的不同组合,可以实现复杂且高效的数据排序操作。对于需要按照特定逻辑排序的场景,我们可以编写自定义比较函数,通过u参数来传递...

    PHP数组排序及运用场景.md

    ### PHP数组排序及运用场景详解 #### 一、PHP数组排序方法详解 PHP 提供了丰富的数组处理功能,其中数组排序是开发中最常用的功能之一。本文将详细介绍 PHP 中的数组排序函数及其应用场景。 ##### 1. `sort()` -...

    php数组排序

    #### 三、PHP数组排序的基本原理 排序算法是计算机科学中的基础部分,通常分为多种类型,如冒泡排序、选择排序、插入排序、快速排序等。本文介绍的是一种简单的冒泡排序算法。 - **冒泡排序**:它通过重复遍历要...

    PHP数组排序之sort、asort与ksort用法实例_.docx

    PHP数组排序之sort、asort与ksort用法实例 PHP数组排序是PHP编程中的一种常见操作,排序算法是计算机科学中的一种基本算法。PHP提供了多种排序函数,如sort、asort、ksort等,这篇文章将通过插入排序、选择排序、...

    php排序php排序php排序php排序

    在PHP编程语言中,排序是处理数组数据时的常见任务,尤其在组织和展示信息时。PHP提供了多种内置函数来帮助开发人员对数组进行不同方式的排序,包括简单排序、根据关键字排序以及根据值排序。 1. **简单排序**: -...

    php 多维数组排序

    php 多维数组排序,应用php的多维数组排序函数

    php各种数组的排序算法

    ### PHP中的数组排序算法 在PHP编程中,对数组进行排序是常见的操作之一。本文将详细介绍几种常用的排序算法实现,并通过具体的PHP代码示例来帮助理解这些算法的工作原理。 #### 插入排序(Insertion Sort) 插入...

    PHP多维数组排序array详解

    首先,我们要理解PHP数组排序的核心函数`array_multisort()`。该函数能够对多个数组或多维数组进行排序,通过它可以实现复杂条件下的排序操作。`array_multisort()`函数接受一个或多个数组作为参数,并且可以接受...

    常用PHP数组排序函数归纳

    常用的PHP数组排序函数  •sort() – 以升序对数组排序  •rsort() – 以降序对数组排序  •asort() – 根据值,以升序对关联数组进行排序  •ksort() – 根据键,以升序对关联数组进行排序  •arsort() – ...

    多维数组让数组根据某个字段的大小排序

    #### 二、PHP中多维数组排序的实现方法 本例中,我们希望对一个多维数组按照其中一个字段(本例为`'norder'`)的值进行降序排序。具体步骤如下: 1. **初始化数组**: ```php $arr = array( array('name' => '...

    PHP 数组排序

    PHP 数组排序 数组中的元素可以按字母或数字顺序进行降序或升序排列。 PHP – 数组排序函数 在本章中,我们将一一介绍下列 PHP 数组排序函数: sort() – 对数组进行升序排列 rsort() – 对数组进行降序排列 a...

    PHP数组排序之sort、asort与ksort用法实例

    本文实例讲解了PHP数组排序中sort、asort与ksort的用法,供大家参考借鉴之用。具体实例如下所示: <?php $arr = array('d'=>'sdf', 'r'=>'sdf', 'a'=> 'eee'); //sort($arr); // 对数组的值进行重排, 删除之前的...

    PHP 数组排序方法总结 推荐收藏

    PHP数组排序是PHP开发中处理数据时常常会用到的功能,它能帮助开发者以特定的顺序整理数组元素。在本文中,我们主要通过几种不同的排序函数来了解PHP数组排序的方法。 首先,我们需要了解如何使用PHP创建数组。PHP...

    PHP 多维数组的排序问题 根据二维数组中某个项排序

    在处理PHP多维数组排序问题时,特别是根据二维数组中某个特定项进行排序的情况,有几种方法可以实现。其中一种有效的方法是使用PHP内置的array_multisort函数。该函数可以对多个数组或数组中的多个列进行排序,适用...

    php选择排序法实现数组排序实例分析_.docx

    PHP选择排序法实现数组排序实例分析 PHP 选择排序法是常用的数组排序算法之一,它通过比较数组中的元素,选择合适的元素进行交换,直到整个数组排序完成。在 PHP 中实现选择排序法可以使用以下步骤: 1. 首先,...

    多维数组排序

    对于多维数组排序,PHP提供了`usort()`、`uasort()`和`uksort()`函数,它们允许我们自定义排序规则。`usort()`用于按用户定义的比较函数对数组元素进行排序;`uasort()`则保持索引与值的关联性;而`uksort()`则是...

    php二维数组排序

    ### PHP 二维数组排序知识点详解 #### 一、概述 在 PHP 编程中,处理数据经常需要对数组进行排序,尤其是对二维数组的排序。本文档介绍了一种使用 `array_multisort()` 函数来实现多维数组排序的方法,并通过一个...

    php 二维数组按数组键值进行排序

    php对二维数组按数组键值进行排序 @param array $array 要排序的数组 @param string $key 排序依据字段 @param string $order 排序方式,0为降序,1为升序

Global site tag (gtag.js) - Google Analytics