将PHP数组作为数组传递给外部Javascript函数

KaH*_*HeL 4 javascript php

我正在做一些我需要将数组从我的PHP传递到外部JavaScript的函数.我现在正在做一些测试,看起来像这样:

<input type="text" onclick="show_error_message('<?php echo $array_sample ?>')" readonly="readonly">
Run Code Online (Sandbox Code Playgroud)

和javascript函数是这个:

function show_error_message(test) {
alert(test)
}
Run Code Online (Sandbox Code Playgroud)

我的$ array_sample包含数据,array("1","2","3"); 但返回警报将是数组,每当我在传递参数时更改$array_sample$array_sample[0],我得到的数据为1作为警报.我想知道如何通过javascript中的数组传递整个数组.好吧你可以看到,我打算将它作为错误处理的弹出消息,这就是为什么我需要它是动态的.

Mus*_*usa 10

使用 json_encode

onclick='show_error_message(<?php echo  json_encode($array_sample) ?>)'
Run Code Online (Sandbox Code Playgroud)

要么

onclick="show_error_message(<?php echo htmlspecialchars(json_encode($array_sample)) ?>)"
Run Code Online (Sandbox Code Playgroud)

注意缺乏引号(')周围的PHP代码,这样文字的数组传递给show_error_message,而不是一个字符串.


Kal*_*tel 5

使用json_encode()函数将PHP数组编码为json数据。

并在Javascript中用于JSON.parse()解析Json字符串。