php二維數(shù)組按照某個鍵名排序

今天,大哥考我一個二維數(shù)據(jù)排序的題目,一個二維數(shù)組如下,要求按照年齡排序。

我一共寫了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;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容