【发布时间】:2013-05-28 12:51:52
【问题描述】:
我有一个表单,它将 JSON 编码的数据发布到控制器函数,原因是表单是动态的,并且可能包含太多元素,因此受到 Php 配置的限制。
我在控制器中检索 JSON 数据没有问题,我可以使用以下方法将其解码为数组:
$result = json_decode($this->request->data['Address']['result'], true);
然而,我的问题是结果数据采用以下格式:
array(
'data[Address][id][0][2087]' => '2087',
'data[Address][id][0][2680]' => '2680',
'data[Address][id][1][3168]' => '3168',
'data[Address][id][1][3911]' => '3911',
'data[Address][id][2][1818]' => '1818',
);
但是,我想将其转换为 CakePHP 数组样式,即:
array(
'data' => array(
'Address' => array(
'id' => array(
0 => array(
2087 => '2087',
2680 => '2680
),
1 => array(
3168 => '3168',
3911 => '3911'
)
)
)
)
)
我意识到这可以通过对数组的迭代来完成,但是由于 CakePHP 已经在内部完成了这项工作,有没有办法简单地访问该核心方法并将数组转换为多维数组?
【问题讨论】:
-
您如何编码表单中的数据?通过 AJAX 发布数据应该允许您通过常规帖子发布数据,这将为您提供正确格式的数据?
-
查看我对 Costa 的回答。
标签: cakephp