将php数组放入js数组中

时间:2015-07-15 15:09:31

标签: javascript php arrays

我想在javascript数组中获取由pg_fetch_all创建的php数组。但是当我尝试这样做时,firebug告诉我,我正在尝试将数组转换为字符串。实际上,我不明白为什么因为两者都是阵列。

这是我创建php数组的地方:

$conn_string = "host=localhost port=5432 dbname=test_postgre user=postgres password='1234'";
$dbconn = pg_connect($conn_string);

$sql = "SELECT ".$colonne." FROM public.".$tablevar."";
$res = pg_query($sql) or die("Pb avec la requete: $sql");

$data = pg_fetch_all($res);

这是我的js代码:

var array_dropdown =[<?php echo $data;?>];

它不起作用。请帮帮我!

2 个答案:

答案 0 :(得分:3)

PHP数组101:字符串上下文中的数组是文字Array

$x = array(1 => 2);
echo $x; // ouputs "Array"

您需要使用json_encode():

var array_dropdown = <?php echo json_encode($data); ?>;

json_encode保证您传递给encode函数的任何内容都将作为语法上有效的javascript输出。请注意上面代码中缺少[] - json_encode为您处理所有这些。

答案 1 :(得分:0)

假设这是你的PHP数组

var array = <?php echo json_encode($array); ?>;

JS部分:

{{1}}