将数组从php传递到javascript方法
在我的php中,我进行了一个db调用,结果是将数组从php传递到javascript方法,javascript,php,arrays,methods,Javascript,Php,Arrays,Methods,在我的php中,我进行了一个db调用,结果是 $options = mysqli_fetch_array($result); 现在,我想进行一个javascript方法调用并传递这个函数。我的javascript方法看起来像 function myFunction(options){ //iterate over each option } 我现在做的是 <?php echo "<script>myFunction('".$options."')</script>
$options = mysqli_fetch_array($result);
现在,我想进行一个javascript方法调用并传递这个函数。我的javascript方法看起来像
function myFunction(options){
//iterate over each option
}
我现在做的是
<?php echo "<script>myFunction('".$options."')</script>";
要让PHP打印出JavaScript可以使用的数组,可以将数组转换为JSON字符串,然后直接回显
# Convert PHP array to JSON array
$json_options = json_encode($options);
# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json_options.")</script>";
#将PHP数组转换为JSON数组
$json_options=json_encode($options);
#不带单引号的Echo JavaScript和JSON
不能将php数组作为数组传递到javascript函数中。不过,您可以按照Grokify所述传递它,或者,如果您的函数位于同一页面上,则可以通过将其传递到php环境中,将其直接分配到javascript变量中
function myFunction(){
var options = <?php echo json_encode($options); ?>;
}
函数myFunction(){
var期权=;
}
首先,声明JS函数
function myFunction(options){
options = JSON.parse(options);
for(var i=0; i<= options.length; i++){
console.log(options[i]);
}
}
函数myFunction(选项){
options=JSON.parse(选项);
对于(var i=0;i这与您试图让PHP将数组作为字符串输出这一事实有什么关系?为什么不作为json对象传递?json\u encode($options)
@ksealey那么,如何让我的php将数组作为数组吐出?将该数组转换为java数组的字符串表示形式,并将其分配给javascript变量,然后传递该变量,或者按照上面的编辑说明执行
$json = json_encode($options);
# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json.")</script>";