在 JavaScript 接收 PHP 變數

如果接收的是數字,那好辦,這樣就行了︰

<script>
  var num = <?php echo $num ?>;
</script>

 

如果是字串,那外面記得要用 ' ' 或 " " 包起來︰

<script>
  var str = '<?php echo $str ?>';
</script>

如果字串裡面有跳脫字元,那就麻煩點,可能要改成下面這樣︰

<script>
  var str = '<?php echo str_replace( 
                          array("\\", "\r", "\n", "'"), 
                          array("\\\\", '\\r', '\\n', "\'"), 
                          $str) ?>';
</script>

如果你懶得用 str_replace ,那還有一招︰

<script>
  var str = <?php echo json_encode($str) ?>;
</script>

需注意, json_encode 出來的字串已經被 " " 包住了,所以就不需要在外面再加 ' ' 或 " "了。

 

接收陣列一樣是用 json_encode ,注意關聯式陣列會轉成物件:

<?php
  $arr = array(1, 2, 3, 4, 5);
  $obj = array('a' => 1, 'b' => 2);
?>
<script>
  var arr = <?php echo json_encode($arr) ?> // [1,2,3,4,5]
  var obj = <?php echo json_encode($obj) ?> // {"a":1,"b":2}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值