`
Sarah-Brightman
  • 浏览: 73723 次
  • 性别: 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数组排序函数合集以及它们之间的联系进行了详细的分析介绍,需要的朋友参考下

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

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

    php数组排序

    简单的php数组排序,比较适合初学者。 代码实现: 排序前: 9,6,5,8,7,4,3,16,2,1,0 排序后: 0,1,2,3,4,5,6,7,8,9,16 */

    php 多维数组排序

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

    常用PHP数组排序函数归纳

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

    PHP 数组排序

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

    php各种数组的排序算法

    php排序 ,插入排序,选择排序,冒泡排序,快速排序。 整理出来,供大家参考一下

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

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

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

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

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

    首先接触的就是PHP数组排序、降序的排序问题。sort:本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 rsort:本函数对数组进行逆向排序(最高到最低)。 删除原有的键名而不仅是重新...

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

    PHP 多维数组排序 根据二维数组中某个项排序,需要的朋友可以参考下。

    PHP实现的自定义数组排序函数与排序类示例

    本文实例讲述了PHP实现的自定义数组排序函数与排序类。分享给大家供大家参考,具体如下: /* * 二维数组自定义排序函数 * uasort($arr,function_name) * **/ $arr = array( array('a'=>1,'b'=>'c'), array('a'=>4...

    php二维数组排序

    这是php实现的二维数组排序的相关代码,有不同的实现方法

    php数组排序usort、uksort与sort函数用法

    本文实例讲述了php数组排序usort、uksort与sort函数用法。分享给大家供大家参考。具体用法分析如下: 对数组排序:usort() 函数使用用户自定义的函数对数组排序,实例代码如下: 复制代码 代码如下:function cmp($a, $b...

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

    多维数组让数组根据某个字段的大小排序,方便用户直接获取

    PHP多维数组排序array详解

    主要为大家详细介绍了PHP多维数组排序array的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    PHP 基础实例教程(PHP网页实例版)

    PHP 基础实例 在HTML中嵌入PHP 使用 PHP 标记 PHP 语句 使用 PHP 注释 PHP 语句间的空格问题 添加动态内容 使用 PHP 函数 ...PHP 多维数组排序 PHP 随机数组排序 PHP 文件内容载入数组 PHP 数组操作

Global site tag (gtag.js) - Google Analytics