我在正在编写的PHP脚本中遇到了一个奇怪的问题--我确信有一个简单的答案,但我没有看到它。
我使用PHP从数据库中提取一些变量,然后将这些值传递到一个用PHP动态构建的Javascript中。如下所示:
$myvar = (bool) $db_return->myvar;
$js = "<script type=text/javascript>
var myvar = " . $myvar . ";
var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar';
</script>";
问题是,如果数据库中" myvar“的布尔值是false
,那么$js中的myvar实例就是空的,而不是false
,这就破坏了脚本。
有没有办法将值false
正确地传递到myvar变量中?
谢谢!
发布于 2011-04-02 03:10:38
使用json_encode()
。它将从原生PHP类型转换为原生Javascript类型:
var myvar = <?php echo json_encode($my_var); ?>;
并且还将处理将其转换为有效javascript所需的任何转义。
发布于 2011-04-02 03:09:42
$js = "<script type=text/javascript>
var myvar = " . ($myvar ? 'true' : 'false') . ";
var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar';
</script>";
https://stackoverflow.com/questions/5517748
复制相似问题