0

我在 MySql 数据库中存储了一个二维数组

[["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

4 回答 4

2

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

layoutArray = eval(xmlhttp.responseText);

一般来说,eval如果您正在运行的数据eval来自您的用户,您应该避免使用。但是,如果只有您可以篡改此值,那么eval是安全的。

于 2012-10-09T11:59:36.083 回答
0

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

工作示例

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

echo json_encode($array)
于 2012-10-09T12:16:54.287 回答
0

我会将数组存储为像feeela 所说的JSON 字符串。

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

for (key in layoutArray){
     console.log(layoutArray[key])
}
于 2012-10-09T12:11:47.780 回答
0

只需serialize在将其放入数据库之前和unserialize提取时使用。您将拥有 json 结构,而无需在客户端使用 eval。

于 2012-10-09T12:12:35.897 回答