php 數組排序

1.一維數組排序

以下圈起來的方法,則爲一維數組排序

 

2.二維數組:利用內置方法(array_multisort)

/**
 * 二維數組排序
 * @param array $array 二維數組
 * @param string $sort_key 需要排序的字段鍵名
 * @param int $sort_order 排序方式(SORT_ASC:升序、SORT_DESC:降序)
 * @param int $sort_flags 排序類型(SORT_NUMERIC:數字大小排序、SORT_STRING:字符串比較)
 * @return array|bool
 */
function arr2sort($array = [], $sort_key = '', $sort_order = SORT_ASC, $sort_flags = SORT_NUMERIC){
    if(empty($array))
        return false;

    foreach ($array as $val){
        if(!is_array($val))
            return false;

        $arr_kes[] = $val[$sort_key];
    }

    array_multisort($arr_kes,$sort_order,$sort_flags,$array);
    return $array;
}

$arr = [
        ['name' => '張三','age' => 18],
        ['name' => '李四','age' => 16],
        ['name' => '王五','age' => 20],
        ['name' => '李麗','age' => 24],
    ];
$result = $this->arr2sort($arr,'age',SORT_DESC,SORT_NUMERIC);
dump($result);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章