【发布时间】:2014-04-29 23:06:06
【问题描述】:
我正在向控制器发送一个 POST 数组。数组如下所示:
Array
(
[event] => Array
(
[0] => Array
(
['publishStart'] => 2013-12-10
['eventStart'] => 2014-05-05
['eventEnd'] => 2014-05-10
['timeStart'] =>
['timeEnd'] =>
['location_id'] => 1
['id'] => 65774
)
其中有几个块,即 [event][1]。 [event][2] 等。我正在尝试在 $_POST['event'] 上运行 foreach 循环,并且可以确认在每次迭代中,$event 包含以下内容:
Array
(
['publishStart'] => 2013-12-10
['eventStart'] => 2014-05-05
['eventEnd'] => 2014-05-10
['timeStart'] =>
['timeEnd'] =>
['location_id'] => 1
['id'] => 65774
)
现在,问题来了。您可以在上面的两个数组中看到一个名为“id”的键具有相应的值。然而下面的代码返回一串“未定义的索引”错误:
foreach ($_POST['event'] as $event)
{
echo $event['id'];
exit();
}
我到底做错了什么?
【问题讨论】:
-
print_r($_POST)的输出是什么? -
只是为了调试,在 $event 上做一个 var_dump 而不是 echo $event['id']
-
对不起,如果我说得不够清楚,但上面的两个数组都是您的两个请求的格式良好的版本,直接从 var_dump 输出。 $event 的完整 var_dump 位于 pastebin.com/x1YrjdGc,$_POST 的完整 var_dump 位于 pastebin.com/fa9zkTWa,谢谢!
-
在你的
$_POST-array 中可能至少有 1 个event-block 没有id-field。 -
虽然疯狂的是,当我尝试显示一个计数器以显示它通过循环的次数时,它总是在第一次迭代后停止。这有关系吗?