zoukankan      html  css  js  c++  java
  • 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 对数组按照键名逆向排序

  • 相关阅读:
    编译使用luasocket
    使用openssl的一些问题
    c++调用lua注册的带参数的回调
    合服
    windows防火墙命令
    mac os .xip格式解压
    Get GPU Data Method
    Unity编译Mono
    Unity Mono运行机制分析及内存优化
    unity5 AssetBundleBuild用法
  • 原文地址:https://www.cnblogs.com/daijie/p/7381099.html
Copyright © 2011-2022 走看看