• 技术文章 >后端开发 >php教程

    php 一维数组排序与多维数组排序_PHP教程

    2016-07-20 11:07:26原创714
    php教程 一维数组排序与多维数组排序

    先看一维数据排序的实例asort()函数和ksort()函数


    //asort()函数以数组的值升序为准
    $mix = array("Clalei"=>10,"Bill"=>50,"Aala"=>100);
    asort($mix);
    print_r($mix);
    //ksort()函数以数组的关键字升序为准
    $mix = array("Clalei"=>100,"Bill"=>50,"Aala"=>10);
    ksort($mix);
    print_r($mix);

    ?>

    一维数据排序二

    sort()函数,可将数组按字母或是数字的升序(从低到高)来进行排序:

    $name = array("Clalei","Bill","Aala");
    sort($name);
    for($i=0;$i<3;$i++){
    echo $name[$i];
    }
    echo "
    ";
    $price = array(100,50,10);
    sort($price);
    for($i=0;$i<3;$i++){
    echo $price[$i]." | ";
    }

    ?>

    好了现在来看看二维数据库教程排序实例代码

    $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

    二维数组排序三

    array_multisort() 对二维数组进行排序
    数组$roughData,我们打算按照accurancy排序。

    Array( [0] => Array ( [username] => 10yl [accuracy] => 0.00 ) [1] => Array ( [username] => 11yl [accuracy] => 1.00 ) [2] => Array ( [username] => 12yl [accuracy] => 0.00 ) [3] => Array ( [username] => 13yl [accuracy] => 1.00 ))
    方法:
    (1)提取accuracy列数组

    foreach ($roughData as $key => $row) {
    $usernames[$key] = $row['username'];
    $accuracy[$key] = $row['accuracy'];
    }

    (2)进行排序
    array_multisort($accuracy, SORT_ASC,$roughData);

    当print_r($roughData);后我们将得到一个按accuracy升序排序的二维数组


    再来看个简单实例用二维数组排序方法

    $array[] = array("age"=>20,"name"=>"li");
    $array[] = array("age"=>21,"name"=>"ai");
    $array[] = array("age"=>20,"name"=>"ci");
    $array[] = array("age"=>22,"name"=>"di");

    foreach ($array as $key=>$value){
    $age[$key] = $value['age'];
    $name[$key] = $value['name'];
    }

    array_multisort($age,SORT_NUMERIC,SORT_DESC,$name,SORT_STRING,SORT_ASC,$array);
    print_r($array);
    ?>


    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444956.htmlTechArticlephp教程 一维数组排序与多维数组排序 先看一维数据排序的实例asort()函数和ksort()函数 ?php //asort()函数以数组的值升序为准 $mix = array(Clalei...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 一维 数组 排序 多维 php 教程 一维 数组 排序 多维 先看 数据 实例 asort 函数
    上一篇:php 超大文件下载程序[http 缓存协商,Etag标记,断点续传]_PHP教程 下一篇:php 将火车头采集db3数据导入到dedecms完整代码_PHP教程
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 细思极恐?关于in_array的第3个参数• PHP 编程的 5个良好习惯_php技巧• PHP无限分类的类_php技巧• 超强分页类2.0发布,支持自定义风格,默认4种显示模式_php实例• PHP递归创建多级目录_PHP
    1/1

    PHP中文网