在 JavaScript 接收 PHP 變數

hce023 10 二月, 2015 09:33 php筆記 靜態連結網址 引用 (0)

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

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

 


迴響


發表迴響

發表迴響
 authimage

Powered by LifeType
© 2006 - Design by Omar Romero (all rights reserved)