1. 程式人生 > >二維數組針對某字段排序 - array_multisort()

二維數組針對某字段排序 - array_multisort()

div numeric 組成 multi multisort regular ram reg 一維數組

/**
     * 針對二維數組下的某字段排序
     * @param  array    $myarr      被排序數組
     * @param  string   $sort_key   排序根據字段
     * @param  flag     $sort_order 排序規則:SORT_ASC、SORT_DESC
     * @param  flag     $sort_type  排序類型:SORT_REGULAR、SORT_NUMERIC、SORT_STRING
     * @return array                排序後的數組
     */
    public
function myarr_sort($myarr,$sort_key,$sort_order,$sort_type) { $key_arr = []; if(is_array($myarr)){ foreach($myarr as $m){ if(is_array($m)){ $key_arr[] = $m[$sort_key]; }else{ return ‘我喜歡二維數組多一點‘; } } }
else{ return ‘我喜歡數組,你醜,不要‘; } array_multisort($key_arr,$sort_order,$sort_type,$myarr); return $myarr; }

其實就是,把排序字段的值從二維數組裏取出來組成一個一維數組,然後通過array_multisort()函數就可以對二維數組按照該排序字段進行排序。

二維數組針對某字段排序 - array_multisort()