• php的二维数组排序


    //建立一个$arr的二维数组
    $arr=array(
        array('name'=>'e','age'=>5),
        array('name'=>'b','age'=>2),
        array('name'=>'a','age'=>1),
        array('name'=>'c','age'=>3),
        array('name'=>'d','age'=>4),
        ); 
     

    介绍俩函数  strnatcmp  和  strncmp

        //比较字符串俩个大小的函数
        echo strnatcmp("ac",'ab')."<br/>";//输出1
        echo strncmp("ac",'ab',1)."<br/>";//输出0  因为这个函数有第三个参数 限制了仅比较1位  也就是只比较a
        //使用   usort  来进行排序  使用用户自定义的比较函数对数组中的值进行排序 
    
        //按 键值  name 大小来排序
        usort($arr,function($a,$b){
            return  strnatcmp($a['name'],$b['name']);//  直接比较 二维数组的 name字段  进行 asc排序
        });
        dump($arr);
    
        //按键值  name 的长度排序
        usort($arr,function ($a,$b)
        {
            if(strlen($a['name'])==strlen($b['name']))
                return 0;
            return (strlen($a['name']) > strlen($b['name']))?1:0;
        });
        dump($arr);


    打印函数

            function dump($data)
        {
            echo "<pre>";
            print_r($data);
            echo "</pre>";
        }

    sort 对数组排序一般适用于一维索引数组,不会保持索引

    rsort 对数组逆向排序 和sort用法一致

    asort 对数组进行排序并保持索引关系对值进行排序,一般适用于一维数组,保持索引关系

    arsort 对数组进行逆向排序并保持索引关系和asort用法一致

    ksort 对数组按照键名排序

    krsort 对数组按照键名逆向排序

  • 相关阅读:
    关于MVC与MVP的理解
    使用JDBC连接数据库
    常见DML语句汇总
    java字符常量
    java中Map,List与Set的区别
    面向对象重写(override)与重载(overload)区别
    嵌入式系统的体系结构 图解
    使用webpack + momentjs时, 需要注意的问题
    联想电脑屏幕亮度无法调节
    树形数据构造
  • 原文地址:https://www.cnblogs.com/daijie/p/7381099.html
Copyright © 2020-2023  润新知