strtotime() 应该 return 0 如果参数也是 0

strtotime() should return 0 if the argument is also 0

如果参数也是 0,我怎样才能使函数 strtotime() 变为 return 0?

在我的示例中,$testvar2 returns "empty".

$testvar = 0;
$testvar2 = strtotime($testvar);

print_r($testvar2);
public static function myStrToTime($var=null)
{
    if($var)
        return strtotime($var);
    return 0;
}

无意冒犯,但也许您应该在 PHP 上查看更多教程。 :)

它不是返回空而是返回你 bool(false)。检查 var_dump 而不是 print_r.

解决方法:

$testvar2 = ($testvar) ? strtotime($testvar) : 0;

只需简单地使 ternary operator, since strtotime() 将 return 为假,如果它失败,您可以简单地 return 0 否则它将 return 正确的值。

$testvar2 = strtotime($testvar)?:0;

只需添加对该变量的检查(0、false、null、未设置等)。试试 -

$testvar2= (!empty($testvar)) ? strtotime($testvar) : 0;
function getTime($testvar){
    return ($testvar == 0)? 0 : strtotime($testvar);
}