PHP數組按照key排序區別


function arraySort($array,$keys,$sort='asc') {
    $newArr = $valArr = array();
    foreach ($array as $key=>$value) {
        $valArr[$key] = $value[$keys]; 
    }
    ($sort == 'asc') ?  asort($valArr) : arsort($valArr);//先利用keys對數組排序,目的是把目標數組的key排好序
    reset($valArr); //指針指向數組第一個值 
    foreach($valArr as $key=>$value) {
        $newArr[$key] = $array[$key];
    }
    return $newArr;
}



public function sortByKey($array, $keys, $sort = 'asc')
{
if (!is_array($array) || count($array) < 1) {
return [];
}
if (!isset($array[0][$keys])) {
return [];
}
$a = array();
foreach ($array as $val) {
$a[] = $val[$keys]; //這里要注意$val[$key]不能為空,不然后面會出問題
}
rsort($a);
output_data($a);
//$a = array_flip($a);
output_data($a);
$result = array();
foreach ($array as $k => $v) {
$temp1 = $v[$keys];
$temp2 = $a[$temp1];
$result[$temp2] = $v;
}
//ksort($result);
krsort($result);
return $result;
}

區別


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM