私の質問は Little bit tricy です。日付の違いを表示する必要があります。(2年7月3日5時間30分で日付の違いがわかります。)
今、正確に2つの高い値を表示する方法は、特定のケースを考慮してください
ケース 1 : 日付の差が 0 年 2 月 21 日 7 時間 30 分
出力は : 2 月 21 日
ケース 2 : 0 年 0 月 0 日 7 時間 20 分
出力する必要がある : 7 時間 21 日
日付の違いが質問とまったく同じ形式 (" " で区切られている) で、文字列としてフォーマットされている場合。これでうまくいきます。
<?php
function display_times($string){
$pieces = explode(" ",$string);
$num_disp = 0;
foreach($pieces as $i => $pice){
if(is_numeric($pice) && intval($pice) != 0){
echo $pice." ".$pieces[$i+1]." ";
$num_disp++;
if($num_disp >= 2) break;
}
}
}
$case1 = "0 year 2 month 21 days 7 hrs 30 min";
$case2 = "0 year 0 month 0 days 7 hrs 20 min";
display_times($case1);
echo PHP_EOL;
display_times($case2);
?>