二维数组排序

//二分查找(数组里查找某个元素)
/**二维数组排序,
 * @param array $arr 被排序的数组,
 * @param str $keys 排序的健值,
 * @param  int $order 排序规则,1是升序,0是降序
 * reuturn array  排序后的数组
 * 实现思路:
 *把二维数组 转成一维数组进行,键值排序
 *初始   $arr=[['name'=>'jack','age'=>23],['name'=>'jack','age'=>22]];
 *      $arr1 =[0=>23,1=>22];
 *      $arr3=[['name'=>'jack','age'=>23],['name'=>'jack','age'=>22]];;
 **/

function arr2_sort($arr,$keys,$order=1){
    if(!is_array($arr)){
        return false;
    }
    $arr2=[];
    foreach($arr as $k=>$v){
        $arr2[$k]=$v[$keys];
    }
    if($order==1){
        asort($arr2);
    }else{
        sort($arr2);
    }
    $arr3=[];
    foreach($arr2 as $k3=>$v3 ){
        $arr3[$k3]=$arr[$k3];
    }
    return $arr3;
}

$arr1=[['name'=>'jack','age'=>23],['name'=>'jack','age'=>22],['name'=>'jack','age'=>43]];
$arr2=arr2_sort($arr1,'age');
var_dump($arr2);
echo '<hr/>';
原文地址:https://www.cnblogs.com/huay/p/10367474.html