1

重複の可能性:
PHPでの連想配列の並べ替え

私はこの配列を持っています

array
  0 => 
    array
      'start_date' => string '2012-11-14' (length=10)
      'end_date' => string '2012-11-19' (length=10)
  1 => 
    array
      'start_date' => string '1980-10-10' (length=10)
      'end_date' => string '1980-10-10' (length=10)
  2 => 
    array
      'start_date' => string '2012-11-20' (length=10)
      'end_date' => string '2099-10-10' (length=10)

start_dateで並べ替えたい。sort()メソッドが機能するとは思わない。何か案が?

4

2 に答える 2

2

使用できますusort

PHP 5.3+

usort($array, function($a, $b) {
   //return strtotime($a['start_date']) - strtotime($b['start_date']);
   return strcmp($a['start_date'], $b['start_date']);
});

古いバージョンの PHP

function startDateCmp($a, $b) {
   //return strtotime($a['start_date']) - strtotime($b['start_date']);
   return strcmp($a['start_date']), $b['start_date']);
}

usort($array, 'startDateCmp');
于 2012-10-26T18:47:11.347 に答える
1

独自の関数を使用usortして提供し、注文を行います。

function cmp($a, $b)
{
    return $b['start_date'], $a['start_date'];
}

usort($array, "cmp");
于 2012-10-26T18:47:05.347 に答える