在
PHP中使用strtotime()后,我发现它在传入空格和/或点时会返回一个有效的时间戳.
var_dump(strtotime(" ")); var_dump(strtotime(".")); var_dump(strtotime(". .. .. .. .... .. . .. ."));
生产:
int 1443009652 int 1443009652 int 1443009652
为什么PHP认为这是有效的?
最简单的答案是其中一些是假的
var_dump(DateTime(false)); // date shown is current time
我敢打赌,解析器(它试图清理各种可接受的输入)将句点删除(不用作分隔符),只留下一个空字符串.这是唯一有意义的解释.
echo strtotime('1.1.2000'); // outputs 946681200