> 백엔드 개발 > PHP 튜토리얼 > 两个时间关系对应的数组,怎么让它按时间顺序排列?

两个时间关系对应的数组,怎么让它按时间顺序排列?

WBOY
풀어 주다: 2016-06-23 13:31:16
원래의
1231명이 탐색했습니다.

两个时间关系对应的数组,其中一个是时间数组,怎么让它按时间顺序排列?
$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 

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿