0

そのため、php のソート機能について非常に混乱しており、誰かが私を正しい方向に向けることができるかどうか疑問に思っていました。

以下は多次元配列で、最初に日付を並べ替え、次に時間で並べ替えます。2 つの日付が同じ場合は、早い方が最初に表示されます。

これはどのように行うことができますか?

一番上の配列は $events と呼ばれます

ありがとうございました!

array(4) {
  [0]=>
  array(3) {
    ["name"]=>
    string(4) "Jack"
    ["date"]=>
    string(8) "21.11.13"
    ["time"]=>
    string(5) "17:36"
  }
  [1]=>
  array(3) {
    ["name"]=>
    string(4) "Mike"
    ["date"]=>
    string(8) "21.11.13"
    ["time"]=>
    string(5) "07:30"
  }
  [2]=>
  array(3) {
    ["name"]=>
    string(6) "Thomas"
    ["date"]=>
    string(8) "10.11.12"
    ["time"]=>
    string(5) "18:21"
  }
}
4

1 に答える 1

0

これが必要array_multisort()です。あなたの場合、多次元配列から並べ替えたい列を抽出し、params として array_multisort に渡す必要があります。これがあなたの問題の解決策です:)

/*walk the array and extract the columns needed for sorting*/
foreach($yourarray as $key=>$row){   
  $date[$key] = $row['date'];  
  $time[$key] = $row['time']; 
} 
/*sort the array */
array_multisort($date, SORT_ASC, $time, SORT_ASC, $yourarray);
于 2013-11-12T18:10:29.773 に答える