美文网首页
php二维数组按照某个键名排序

php二维数组按照某个键名排序

作者: chinariver | 来源:发表于2019-08-12 11:03 被阅读0次

今天,大哥考我一个二维数据排序的题目,一个二维数组如下,要求按照年龄排序。

我一共写了3中方法,供大家参考。

$array =[

    ['name'=>'张三','age'=>29,'id'=>1],

    ['name'=>'李四','age'=>36,'id'=>2],

    ['name'=>'王五','age'=>18,'id'=>3],

    ['name'=>'赵柳','age'=>18,'id'=>4],

    ['name'=>'汪涵','age'=>30,'id'=>5],

    ['name'=>'刘德华','age'=>30,'id'=>6],

];

function sort1($array)

{

    /**

    * 在这里写

    */

    $array_key = array_column($array,'age');

    array_multisort($array_key,$array);

    echo 'sort1';

    return $array;

}

function sort2($array){

    $age=[];

    foreach ($array as $k=>$v){

        $age[$k] = $v['age'];

    }

    asort($age);

    $result =[];

    foreach ($age as $key=>$value){

        $result[]=$array[$key];

    }

    echo "sort 2";

    return $result;

}

function sort3($array){

    $age=[];

    foreach ($array as $k=>$v){

        $age[$k] = $v['age'];

    }

    sort($age);

    $result =[];

    foreach ($age as $key1=>$value1){

        foreach ($array as $k1=>$v1){

            if($value1==$v1['age']){

                $result[$k1]=$v1;

            }

        }

    }

    echo 'sort3';

    return $result;

}

$array = sort3($array);

echo "<pre>";

print_r($array);

die;

相关文章

网友评论

      本文标题:php二维数组按照某个键名排序

      本文链接:https://www.haomeiwen.com/subject/rwmyjctx.html