请教一个二维数组排序问题

zhang-先生 2011-08-21 07:49:56
Array ( [1] => Array ( [date] => 2011-08-18 [num] => 5 ) [2] => Array ( [date] => 2011-08-20 [num] => 3 ) [3] => Array ( [date] => 2011-08-17 [num] => 10 ) )


如何按date升序重新排?
...全文
97 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhang-先生 2011-08-21
  • 打赏
  • 举报
回复
多些两位大神. \(^o^)/
一起混吧 2011-08-21
  • 打赏
  • 举报
回复

$arr=array (
'1' => array ( 'date' => '2011-08-18', 'num' => 5 ) ,
'2' => array ( 'date' => '2011-08-20', 'num' => 3 ) ,
'3' => array ( 'date' => '2011-08-17', 'num' => 10 )
) ;

foreach($arr as $v){
$tmp[$v[date]]=$v;
}
ksort($tmp);
print_r(array_values($tmp));

乌镇程序员 2011-08-21
  • 打赏
  • 举报
回复
$ar = Array ( 1 => Array ( 'date' => '2011-08-18', 'num' => 5 ),
2 => Array ( 'date' => '2011-08-20', 'num' => 3 ),
3 => Array ( 'date' => '2011-08-17', 'num' => 10 )
);

function mysort($a, $b) {
$a = strtotime($a['date']);
$b = strtotime($b['date']);
if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;
}

usort($ar, 'mysort');

print_r($ar);
/*
Array
(
[0] => Array
(
[date] => 2011-08-17
[num] => 10
)
[1] => Array
(
[date] => 2011-08-18
[num] => 5
)
[2] => Array
(
[date] => 2011-08-20
[num] => 3
)
)
*/

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧