PHP中的布尔变量值在JavaScript上如何实现?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (67)

我正在使用PHP从DB中提取一些VAR,然后将这些值传递到在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>";

问题是,如果DB中用于“myvar”的布尔值是false,则$js中myvar的实例为空,而不是false

是否有正确传递值的方法?false如何进入myvar变量?

提问于
用户回答回答于

这是最简单的解决方案:

只需在$ js中使用var_export($ myvar)而不是$ myvar ;

$js = "<script type=text/javascript>
        var myvar = " . var_export($myvar) . ";
        var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar';
       </script>";

注意:var_export()与PHP 4.2.0+兼容

用户回答回答于

使用json_encode().它将从本地PHP类型转换为本机Javascript类型:

var myvar = <?php echo json_encode($my_var); ?>;

并将处理任何必要的转义,以将其转换为有效的javascript。

扫码关注云+社区

领取腾讯云代金券