2011-09-14 238 views
-2

我需要使用日期&時間整理此Array升序排列,我要排序的數組列表如下: -排序日期和時間在陣列中的PHP

Array ( 
    [0] => 005 
    [1] => 2011-09-12 12:28:46 
    [2] => IN 
    [3] => GATE1 
    [4] => NULL 
) 

Array (
    [0] => 003 
    [1] => 2011-09-12 12:23:43 
    [2] => IN 
    [3] => GATE1 
    [4] => NULL 
) 

Array (
    [0] => 001 
    [1] => 2011-09-12 12:23:37 
    [2] => IN 
    [3] => GATE1 
    [4] => NULL 
) 

Array ( 
    [0] => 002 
    [1] => 2011-09-12 12:23:34 
    [2] => IN 
    [3] => GATE1 
    [4] => NULL 
) 

Array ( 
    [0] => 012 
    [1] => 2011-09-12 12:23:29 
    [2] => OUT 
    [3] => GATE1 
    [4] => NULL 
) 

Array ( 
    [0] => 010 
    [1] => 2011-09-12 12:23:25 
    [2] => OUT 
    [3] => GATE1 
    [4] => NULL 
) 
+0

嘗試'或看usort'在 「相關」 列表中有-----> –

+1

請使用var_export代替的print_r傾銷陣列時 – arnaud576875

+0

感謝您的回覆朋友,但我面臨的問題是,我想排序整個數組這是我從我的考勤系統得到的數據,所以只是排序日期而不是id或任何東西都會爲我造成問題。 我想排序日期+時間條目在升序和結果我希望系統生成我一個相同類型的數組,但在升序不下降,因爲數據已經在降序我想按升序排序。 請幫忙。 – mohdasim87

回答

4

使用usort

usort($array, function($a, $b) { 
    return strcmp($a[1], $b[1]); 
}); 

或用PHP < 5.3:

function sort_cb($a, $b) { 
    return strcmp($a[1], $b[1]); 
} 
usort($array, 'sort_cb'); 

這裏試試:http://codepad.org/J8U2G32A

或者,array_multisort

$dates = array_map(function($a) { return $a[1]; }, $array); 
array_multisort($array, $dates); 
+0

Usort接受回調作爲第二個參數,array_map - 作爲第一;-) PHP是所有關於此 – zerkms

+0

固定,謝謝:) – arnaud576875

+0

感謝您的回覆朋友,但我面臨的問題是,我想排序整個數組這是我從考勤系統得到的數據只是對日期進行排序而不是id或任何內容會給我帶來麻煩。 我想排序日期+時間條目在升序和結果我希望系統生成我一個相同類型的數組,但在升序不下降,因爲數據已經在降序我想按升序排序。 請幫忙。 – mohdasim87