close

在 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>

 

文章轉載 https://blog.xuite.net/vexed/tech/26405192-%E5%9C%A8+JavaScript+%E6%8E%A5%E6%94%B6+PHP+%E8%AE%8A%E6%95%B8

arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()