PHP 函数 return 中的意外字符串

PHP Unexpected String in a return of a function

我正在尝试创建一个函数来计算两个值的时间差,但是我下面代码中的 return 给了我意外的字符串,怎么会这样?

            var mf_start_time   = "10:30:30";
            var mf_end_time     = "11:10:10";
            function time_interval(mf_start_time,mf_end_time)
            {
                $s = strtotime($start_time);
                $e = strtotime($end_time);
                if ($s < $e)
                {
                    $a = $e - $s;
                }
                else
                {
                    $e = strtotime('+1 day',$e);
                    $a = $e - $s;
                }
                
                $h = floor($a/3600);
                $m = floor(($a%3600)/60);
                $s = $a%60;
                
                return trim(($h?$h.' hour ':'').($m?$m.' minute ':'').($s?$s.' second ':''));
            }

您似乎确实混淆了 Javascript 和 PHP 的语法。 PHP 中没有 var - 属于 Javascript 并且 PHP 中的变量以 $

开头

对您的代码进行一些小调整:

$mf_start_time   = "10:30:30";
$mf_end_time     = "11:10:10";

function time_interval($mf_start_time,$mf_end_time)
{
    $s = strtotime($mf_start_time);
    $e = strtotime($mf_end_time);
    if ($s < $e)
    {
        $a = $e - $s;
    }
    else
    {
        $e = strtotime('+1 day',$e);
        $a = $e - $s;
    }
    
    $h = floor($a/3600);
    $m = floor(($a%3600)/60);
    $s = $a%60;
    
    return trim(($h?$h.' hour ':'').($m?$m.' minute ':'').($s?$s.' second ':''));
}

echo time_interval($mf_start_time,$mf_end_time);

产量:

39 minute 40 second