【发布时间】:2015-10-01 16:36:47
【问题描述】:
我有一个名为 $data 的数组,需要使用来自 ajax 调用的数据进行更新。
通过 ajax 调用发送了两个变量(带有示例输入):
部分详情:
[111][0][2][0][service_providers][]
服务提供者:
Google
serviceProvider是数据,sectionDetails是serviceProvider应该在的数组,在$data数组中。
我需要的是 $data 数组以结束:
$data = Array
(
[111] => Array
(
[0] => Array
(
[2] => Array
(
[0] => Array
(
[service_providers] => Array
(
[0] = Google
)
)
)
)
)
)
这样,我可以动态地将数据输入到任何单元格中,然后我可以更新特定的数组(例如$data[111][0][2][0][service_providers][0] = "Yahoo";
然而,$_POST['sectionDetails'] 是一个字符串,这就是问题所在。
有没有办法将此字符串更改为一个数组,然后可以附加到主 $data 数组(如果同一部分中存在现有值,则更新该值)?
希望这是有道理的。
【问题讨论】:
-
"$_POST['sectionDetails'] 然而是一个字符串" - 字符串到底包含什么?
-
@dave
'[111][0][2][0][service_providers][]'我认为 -
将你的name属性改为
sectionDetails[],它是一个数组。 -
如果你想打电话给
$data[111][0][2][0][service_providers][0] = "Yahoo";,你会意识到你将拥有一个实际的嵌套数组,第一个节点将有112个位置,对吧?如果之前的位置,在嵌套其他数组的 111º 之前,有空值,可以吗? -
@AlanMachado 这不是 PHP 处理数组的方式,您可以拥有一个包含索引为 111 的单个元素的数组