我想在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;?>];
它不起作用。请帮帮我!
答案 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}}