将数组存储到Javascript中

时间:2012-10-09 11:58:00

标签: php javascript mysql arrays

我在MySql db中存储了一个2d数组

[["c0"]["33925"],["c1"]["39280"],["c2"]["34079"],["c3"]["34091"],["c4"]["34108"]]

我想将其转换为javascript数组。

我正在使用php页面使用xmlhttp.responseText;

来获取数组

获取数组,但我无法用它做任何事情;

var layoutArray = new Array();   
layoutArray = xmlhttp.responseText;    
alert(layoutArray[0][0]);

4 个答案:

答案 0 :(得分:2)

尝试评估数组,因为你得到一个字符串:

layoutArray = eval(xmlhttp.responseText);

通常,您应该避免使用eval,尤其是当您运行eval的数据来自您的用户时。但是,如果只有您可以篡改此值,则eval是安全的。

答案 1 :(得分:0)

我将数组存储为一个JSON字符串,如feeela所说。

var layoutArray = {"c0":"33925","c1":"39280","c2":"34079","c3":"34091","c4":"34108"}

for (key in layoutArray){
     console.log(layoutArray[key])
}

答案 2 :(得分:0)

在将其放入数据库之前使用serialize,在解压缩时使用unserialize。你将拥有你的json结构而不在客户端使用eval。

答案 3 :(得分:0)

如果您使用PHP脚本发回结果,并且"必须"将数据存储为数组而不是JSON,我只需json_encode数组并返回:

Working example

$array = array("1" => "PHP code tester Sandbox Online",  
          "foo" => "bar", 5 , 5 => 89009, 
          "case" => "Random Stuff");

echo json_encode($array)