2011-11-17 69 views
1
$arr1 = array("time"=>'2011 10-06 10:20:10', "val"=>20); 
$arr2 = array("time"=>'2011 11-06 10:20:10', "val"=>20); 
$arr3 = array("time"=>'2011 05-06 10:20:10', "val"=>20); 
$arr4 = array("time"=>'2011 07-06 10:20:10', "val"=>20); 
$arr5 = array("time"=>'2011 09-06 10:20:10', "val"=>20); 


$arrGroup[1] = array($arr1, $arr2, $arr3, $arr4, $arr5); //Add key here 


foreach ($arrGroup as $key => $row) { 

    foreach($row as $rKey=> $rVal){ 

     $time[$rKey] = $rVal['time']; 

     $val[$rKey] = $rVal['val']; 
    } 

} 

我想按照它的'時間'對數組進行排序。但是,上面的代碼不會對數組進行排序。Array未按時間排序

+0

您需要使用'的strtotime()'轉換爲一個時間戳,那麼你可以很容易地使用sort()函數族中的一個。 – DaveRandom

+0

該陣列中沒有任何時間。 –

+1

[How to Compare Dates in php?](http://stackoverflow.com/questions/2902360/how-to-compare-dates-in-php) – Gordon

回答

2

將時間轉換爲時間戳值,然後使用排序方法按日期排序。

0

它可能是簡單的使用時間戳作爲索引外陣列,如果你想保持數據結構的內部陣列

$arrGroup[1] = array(
    '1234567890' => $arr1, 
    '1234567891' => $arr2, 
    '1234567892' => $arr3, 
    '1234567893' => $arr4, 
    '1234567894' => $arr5 
); 

asort($arrGroup[1]);