为什么使用 javascript 变量返回零 strtotime



在这种情况下工作:

$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;

最新更新