[英]Passing PHP array into external Javascript function as array
我正在做一些我需要將數組從我的PHP傳遞到外部JavaScript的函數。 我現在正在做一些測試,看起來像這樣:
<input type="text" onclick="show_error_message('<?php echo $array_sample ?>')" readonly="readonly">
和javascript函數是這個:
function show_error_message(test) {
alert(test)
}
我的$ array_sample包含array("1","2","3");
但返回警報將是Array,每當我將$array_sample
更改為$array_sample[0]
時,我傳遞參數時得到的數據是1作為警報。 我想知道如何通過javascript中的數組傳遞整個數組。 好吧你可以看到,我打算將它作為錯誤處理的彈出消息,這就是為什么我需要它是動態的。
onclick='show_error_message(<?php echo json_encode($array_sample) ?>)'
要么
onclick="show_error_message(<?php echo htmlspecialchars(json_encode($array_sample)) ?>)"
注意PHP代碼周圍缺少引號( '
),這樣一個數組文字傳遞給show_error_message
而不是字符串。
使用json_encode()
函數將PHP數組編碼為json數據。
在Javascript中使用JSON.parse()
來解析Json字符串。
下面的代碼顯示了如何將php數組傳遞給javascript:
<script type="text/javascript">
function mufunc(a)
{
var temp = new Array();
temp = a.split('~');
for(i=0;i<temp.length;i++)
{
alert(temp[i]);
}
}
</script>
<?php
$a = array('a','b','c');
$b = implode("~",$a);
?>
<a href="javascript:void(0)" onClick="mufunc('<?php echo $b; ?>')">Click Here</a>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.