将数组从php传递给javascript方法

时间:2015-06-18 04:17:15

标签: javascript php arrays methods

在我的php中进行数据库调用,结果是

$options = mysqli_fetch_array($result);

现在,我想进行一个javascript方法调用并传递此函数。我的javascript方法看起来像

function myFunction(options){
//iterate over each option
}

我正在做的是

<?php echo "<script>myFunction('".$options."')</script>";

这使我在服务器上出错,我正在进行数组到字符串转换。

我认为javascript在运行时确定了数据类型,因此我会对此感到满意。有人可以告诉我这样做的正确方法吗?

由于

3 个答案:

答案 0 :(得分:2)

要让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>";

答案 1 :(得分:0)

你不能将php数组作为数组传递给javascript函数。但是你可以按照Grokify的说明传递它,或者你可以直接将它传递给你的javascript变量,如果你的函数是在同一页面上给php环境。

function myFunction(){
    var options = <?php echo json_encode($options); ?>;
}

答案 2 :(得分:0)

首先,声明你的JS函数。

function myFunction(options){
 options = JSON.parse(options);

 for(var i=0; i<= options.length; i++){
    console.log(options[i]);
  }
}

在PHP方面,将数组转换为JSON并将其传递给JS函数

$json = json_encode($options);

# Echo JavaScript and JSON without single quotes
<?php echo "<script>myFunction(".$json.")</script>";