$x=array(2015-07-06 22:49:00,
2015-07-06 23:18:19,
2015-07-06 18:30:12,
2015-07-06 9:03:36,
2015-07-05 18:31:52);
($y略)
array_multisort($x,sort_desc,sort_string,$y);
print_r($x);
输出后是这样的:
array ( [0] => 2015-07-06 9:03:36 [1] => 2015-07-06 23:18:19 [2] => 2015-07-06 22:49:00 [3] => 2015-07-06 18:30:12 [4] => 2015-07-05 18:31:52 )
应该是时间越晚越在前吧!可是后面的时间没有按先后顺序排列,是哪里有问题,盼解答
回复讨论(解决方案) $x = array( 2015-07-06 22:49:00, 2015-07-06 23:18:19, 2015-07-06 18:30:12, 2015-07-06 9:03:36, 2015-07-05 18:31:52); foreach($x as $t) $r[] = strtotime($t);array_multisort($r, sort_desc, $x);print_r($x);
array( [0] => 2015-07-06 23:18:19 [1] => 2015-07-06 22:49:00 [2] => 2015-07-06 18:30:12 [3] => 2015-07-06 9:03:36 [4] => 2015-07-05 18:31:52)
1、array_multisort 的最后一个参数是被排序的数组
前面的参数都是排序键和排序方式
你 array_multisort($x,sort_desc,sort_string, $y);
是用 $x 对 $y 排序
2、你的 $x 的元素长度不一致,不宜使用 sort_string
我把时间都改成 00:00:00 的格式就可以了,是吗?
我是用 $time=date('g:i:s'); 得到是时间,不能保证这个格式, date('g:i:s'); 这个要怎么写才能保持输出的是00:00:00 格式?谢谢版主
我把时间都改成 00:00:00 格式就可以了是吗?
请问 $time=date('g:i:s') 怎么改动才能总是输出想要的格式呢?谢谢版主解答
把时间改成 00::00:00 还不如不要时间只要日期
你只要把 2015-07-06 9:03:36
改成 2015-07-06 09:03:36
就可以用字符串比较
date('h:i:s')
时间我用的是date('h:i:s') 获取的,
12点以前输出的格式是前面少了个0,
怎么改date('h:i:s') 这个函数才能保证 输出的零不会省略掉,总是为00:00:00格式呢?
用什么输出方法我找不到告诉我一下
你在开玩笑?
h 24 小时格式,有前导零 00 到 23
