在 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>
留言列表