簡體   English   中英

將PHP數組作為數組傳遞給外部Javascript函數

[英]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中的數組傳遞整個數組。 好吧你可以看到,我打算將它作為錯誤處理的彈出消息,這就是為什么我需要它是動態的。

使用json_encode

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM