在php中访问序列化数组?

时间:2013-09-16 14:22:20

标签: php ajax

我使用以下命令从ajax将数组传递给php:

data: {
    imageData: ctx.imageData,
    formData: $("#content-add-form").serializeArray()
},

忽略imageData,我只关心formData。这输出:

array(2) { [0]=> array(2) { ["name"]=> string(5) "title" ["value"]=> string(8) "my title" } [1]=> array(2) { ["name"]=> string(4) "date" ["value"]=> string(10) "16-09-2013" }}

但是如何使用键访问数组的每个部分?

例如

$_POST['title']

1 个答案:

答案 0 :(得分:2)

$_POST['formData']['name']怎么样?

修改

您的数据似乎是这样序列化的:

$_POST['formData']< - 包含所有字段的数组。

$_POST['formData'][0]< - 具有字段名称和第一个表单元素值的数组。

$_POST['formData'][0]['name']< - 第一个表单元素的名称。

$_POST['formData'][0]['value']< - 第一个表单元素的值。

我猜你正在寻找最后一个。

编辑2:

也许这就是你要找的东西:

data: {
    imageData: ctx.imageData,
    formData: $("#content-add-form").serialize()
},

http://api.jquery.com/serialize/

编辑3:

你是对的。必须如此:

// Get the form data.
var data = ("#content-add-form").serialize();

// Add additional data.
data.imageData = ctx.imageData;

data: data,