Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数组从php传递到javascript方法_Javascript_Php_Arrays_Methods - Fatal编程技术网

将数组从php传递到javascript方法

将数组从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>

在我的php中,我进行了一个db调用,结果是

$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>";