将多维数组从javascript传递给php

时间:2009-11-27 18:56:59

标签: php javascript

我正在运行一个javascript代码,它从不同的XML文件中读取值,并根据这些值生成一个多维数组。现在我需要将此数组传递给PHP页面。我尝试了不同但它总是将arrray作为字符串传递而不是数组。 任何人都有一个想法:( ...非常感谢你

2 个答案:

答案 0 :(得分:1)

Caleb说的话。 使用this和JSON将您的JS数组编码为字符串,将其发送到PHP并使用json_decode将其解码为PHP数组。

答案 1 :(得分:0)

你需要一个JSON编码器/解码器才能做到这一点。 Prototype默认情况下已实现,jQuery可以使用jQuery-JSON

例如,如果您使用Prototype作为JS库,那么您可以将数组转换为类似的字符串:

var example_multi_dim_arr = {"a":[1,2,3], "b": [4,5,6]};
var string_to_be_sent_to_server = Object.toJSON(example_multi_dim_arr);

在PHP方面(假设JSON字符串作为POST变量传递给脚本)

$multi_dim_arr = json_decode($_POST["variable_with_json"], true);

true中的最后一个json_decode字段表示输出应采用数组($multi_dim_arr["a"])的形式,而不是对象($multi_dim_arr->a)。< / p>

NB!函数json_decode在PHP 4中本身不可用,如果您使用的是旧版本的PHP,则应该找到相应的JSON类。在PHP 5中,一切都应该可以正常工作。