將server端的資料傳遞到client端需要經過溝通,以下展示array的傳遞。
php程式碼:
<?php
$phpArray = array("HappyMan","is","excellent","!!");
$phpNumber = count($phpArray);
?>
javascript程式碼:
<script>
var jsArray = ["<?php echo join("\", \"", $phpArray); ?>"];
var jsNumber = '<?php print($phpNumber); ?>';
for(var i=0;i<jsNumber;i++)
alert(jsArray[i]);
</script>
註:php為server端,javascript為client端,php->javascript溝通時需使用print或echo。
特別的是PHP的join函數,例子:
<?php $arr = array('Hello','World!','Beautiful','Day!'); echo join(" ",$arr); ?>
結果:
- Hello World! Beautiful Day!
PHP傳遞陣列資料給JS會先變成字串,
- var jsArray = [“<?php echo join(“\", \"", $phpArray); ?>"];
原本phpArray會輸出HappyManisexcellent!!,經過join()後字串變成HappyMan","is","excellent","!!,外頭加上成對[“…"]指定給jsArray,就完成陣列資料的溝通。為什麼最外頭還要加「"…"」?因為元素之間已有「"」(join中「","」)區隔,只差最外頭兩個「"」,PHP以字串的方式傳遞給JS,JS會自動判別其為陣列。
隨意留個言吧:)~