PHP中二維數組排序有關問題

來源:互聯網
上載者:User
PHP中二維數組排序問題

PHP中二維數組排序,可以使用PHP內建函數uasort()

【使用使用者自訂的比較函數對數組中的值進行排序並保持索引關聯】

回呼函數如下:注意回呼函數的返回值是負數或者是false的時候,表示回呼函數的第一個參數在前,第二個參數在後排列

$person = array(array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21),array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23),array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23),array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23),);

//負數或者false表示第一個參數應該在前function sort_by_name($x,$y){return strcasecmp($x['name'],$y['name']);}
使用如下:

uasort($person,'sort_by_name');


下面給出一個二維數組排序的方法,供參考和面試使用:

//$array 要排序的數組//$row   排序依據列//$type  排序類型[asc or desc]//return 排好序的數組function array_sort($array,$row,$type){$array_temp = array();foreach($array as $v){$array_temp[$v[$row]] = $v;}if($type == 'asc'){ksort($array_temp);}elseif($type='desc'){krsort($array_temp);}else{}return $array_temp;}

=====================================================================

這裡順便說一下PHP排序的幾個函數

【sort 對數組排序】一般適用於一維索引數組,不會保持索引

【rsort 對數組逆向排序】 和sort用法一致


【asort 對數組進行排序並保持索引關係】對值進行排序,一般適用於一維數組,保持索引關係

【arsort 對數組進行逆向排序並保持索引關係】和asort用法一致


【ksort 對數組按照鍵名排序】

【krsort 對數組按照鍵名逆向排序】

=====================================================================




著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.