正文  软件开发 > PHP编程技术 >

php的二维数组排序,php二维数组排序

php的二维数组排序,php二维数组排序//建立一个$arr的二维数组 $arr=array( array(‘name‘=>‘e‘,‘age‘=>5), array(‘name‘=...

php的二维数组排序,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 对数组按照键名逆向排序

http://www.bkjia.com/PHPjc/1222935.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1222935.htmlTechArticlephp的二维数组排序,php二维数组排序 // 建立一个$arr的二维数组 $arr = array ( array (‘name‘=‘e‘,‘age‘=5), array (‘name‘=‘b‘,‘age‘=2), array (‘name‘=‘a‘,‘age‘=1...