Just My Life & My Work

將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會自動判別其為陣列。

參考:Convert PHP array to Javascript array

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲