アプリ版:「スタンプのみでお礼する」機能のリリースについて

タイトルのとおりソートを行ってくれる関数を探しております。
$buf[][]の二次元配列の変数を日付の降順に並べ替えたいのですが、そういった関数は用意されていますか?
sort()、rsort()では不可能かと思います。

以下、二次元配列の値です。配列三番目の日付の降順で再格納したいです。
( [0] => Array ( [0] => 1[1] => name1 [2] => 2006-08-18 ) [1] => Array ( [0] => 2 [1] => name2[2] => 2006-08-28 ) [2] => Array ( [0] => 3[1] => name3 [2] => 2006-08-18 ) [3] => Array ( [0] => 4 [1] => name4[2] => 2006-08-18 )

よろしくお願いいたします。

A 回答 (1件)

usort


http://jp.php.net/manual/ja/function.usort.php
で比較関数を作れば可能です。
例えば、こんな感じ
<?php
$buf=Array(
Array ( 1, 'name1', '2006-08-18'),
Array ( 2, 'name2', '2006-08-28'),
Array ( 3, 'name3', '2006-08-18'),
Array ( 4, 'name4', '2006-08-18')
);
function cmp($A, $B){
$b=$A[2];
$a=$B[2];

if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

usort($buf, "cmp");

print_r($buf);
?>
日付順の、番号順にしたいなら、そのように比較関数を変更すればいいです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!