2013-03-21 9 views
7

により、PHPのソート配列私は私のPHPコードで、次の配列の形式になります。日付値

foreach ($events as $info) { 
    $events_array[] = array(
     'title' => $info->Name, 
     'date' => $info->Date 
    ); 
} 
function cb($a, $b) { 
    return strtotime($a['date']) - strtotime($b['date']); 
} 
usort($events_array, 'cb'); 

編集:日付値は形式である:YYYY-MM-DD

実は、Iしますprint_rを行う、私が手

あなたは(あなたの配列は2次元であるため)、独自のマルチ列のソート関数を作成する必要が
[title] => SimpleXMLElement Object () [date] => SimpleXMLElement Object () 
+0

は、このスレッドを見て与えます。その構文は常にテンプレート化のためのものであり、ほとんどの開発者は他の場所で使用されていることを期待したり感謝したりしません – ThiefMaster

+1

配列に何かがあったと確信していますか? usortを呼び出す前にprint_r()を実行してください。 –

+0

events_arrayはソートの前に値を持っていますか? – Lighthart

答えて

12

array_sort_by_column($events_array, 'date'); 

var_dump($events_array); 

ソート機能:

function array_sort_by_column(&$array, $column, $direction = SORT_ASC) { 
    $reference_array = array(); 

    foreach($array as $key => $row) { 
     $reference_array[$key] = $row[$column]; 
    } 

    array_multisort($reference_array, $direction, $array); 
} 
+2

http://www.php.net/manual/en/function.usort.php < - example#2 2次元配列を使用するので、2次元の別のbevauseを行う必要があるという私達のステートメントは間違っています... – ITroubs

+0

ITroubsは正しいです、ここではusortでそれを行う方法です:http://stackoverflow.com/questions/2910611/php-sort-a-multidimensional配列要素ごとの配列 –

関連する問題