ホームページ >バックエンド開発 >PHPチュートリアル >2 つの時間関係に対応する配列を時系列に並べるにはどうすればよいでしょうか?

2 つの時間関係に対応する配列を時系列に並べるにはどうすればよいでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:31:161239ブラウズ

時間関係に対応する 2 つの配列、そのうちの 1 つは時間配列ですが、それを時系列に並べるにはどうすればよいですか?
$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 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 形式になるようにするにはどうすればよいですか?形式ですよね?

$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 が付きます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。