- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question
我的网站上有一个非常简单的表格。
我运行这个PHP来循环表单内容:
echo '<pre>';
var_dump($_POST);
echo '</pre>';
$i = 0;
foreach($_POST as $key => $value)
{
$i++;
echo $value[$i]['row_id'];
}
我得到了以下信息:
array(1) {
["data"]=> array(2) {
[1]=> array(2) {
["row_id"]=> string(5) "33714"
["sport"]=> string(8) "swimming"
}
[2]=> array(2) {
["row_id"]=> string(5) "33715"
["sport"]=> string(8) "football"
}
}
}
33714
我的PHP只回显第一行的id 33714
,而不是两行。
我觉得我忽略了一些明显的东西。
2条答案
按热度按时间oaxa6hgo1#
你在错误的地方循环,你同时用了两种不同的方法来循环同一个东西。
1.将
$i
设置为0
1.您的
foreach
循环达到$_POST['data']
1.将
$i
更改为1
1.您访问
$_POST['data'][1]
1.到达循环的末尾
你需要遍历你真正想遍历的东西。
data
是一个固定的东西,所以硬编码。然后循环它包含的数组。只有在使用regular
for
loop时才使用$i
变量。当使用
foreach
时,使用的是在其中定义的变量(在本例中为$key
和$value
)。jei2mxaa2#
简单地说,您需要循环
$_POST['data']
的项,而不仅仅是$_POST