標籤:style blog color 使用 2014 問題
問題:
有這樣一個數組$arr:
[1]=> array(3) { [0]=> string(89) "........./r1822113797800000_AIK1_20140626_190411.mp3" [1]=> string(4) "AIK1" [2]=> string(16) "18221*********" }
[2]=> array(3) { [0]=> string(89) "........./r1822113797800000_AIK1_20140626_190422.mp3" [1]=> string(4) "AIK1" [2]=> string(16) "1822*********" }
......
......
要求按照時間20140626_190411來排序
這個用到了php的多維陣列排序array_mutisort()函數,用法如下:
foreach($arr as $key=>$row) { preg_match("/[0-9]{4}_[0-9]{6}/",$row[0],$match);//使用正則表達從"........./r1822113797800000_AIK1_20140626_190422.mp3"中匹配出時間20140626_190422 $date_for_sort[$key] = $match[0];//將時間作為排序的關鍵字 }array_multisort($date_for_sort,SORT_ASC,$arr);//使用$date_for_sort作為關鍵字對數組$arr進行升序排序
這個函數相當的好用呀~
數組內容為中文的話,需要編碼轉換為GBK或者GB2312形式,它們本身就使用拼音排序的,用到了iconv()函數:
foreach($arrbelong2 as $key=>$row) { $belong2_for_sort[$key] = iconv(‘UTF-8‘, ‘GB2312‘,$row[‘fullname‘]); } array_multisort($belong2_for_sort,SORT_ASC,$arrbelong2);