在这种情况下工作:
$var = "05/20/2016 12:00";
echo gettype ($var);
$ini = strtotime($var)*1000;
但是当我使用 javascript 变量时,虽然两者都是格式字符串,但它返回零。为什么?
$var = "<script>document.write(date)</script>";
echo gettype ($var);
$ini = strtotime($var)*1000;
PHP 首先在服务器上编译,您假设
$var = "<script>document.write(date)</script>";
解析为类似 $var = "05/20/2016 12:00";
但这并不是因为 JavaScript 编译在输出到达客户端之前不会启动。
您将文字字符串"<script>document.write(date)</script>"
传递给 PHP 的 strtotime()
函数,因此返回零。
如果您在echo gettype($var)
之前echo $var
,您将确切地看到传递给strtotime的内容。
var_dump()
更适合调试变量的当前值。
$var = "<script>document.write(date)</script>";
var_dump($var)
echo gettype ($var);
$ini = strtotime($var)*1000;