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