有人能解释一下这是做什么的吗?
foreach($_POST['Detail'] as $i_Detail => &$a_Detail)
{
...
}
当然我得到了foreach
的原则,但这看起来像是在尝试迭代数组的单个元素!
答案 0 :(得分:4)
数组的单个元素本身可能是一个数组。
编辑:此外,您通过引用传递存储在数组中的值,因此无论您在循环中对$ a_detail执行的操作,实际上都会更改它所代表的数组中的值。
答案 1 :(得分:3)
使用html输入,您实际上可以将数组传递给php,
<input name="Detail[a]" />
<input name="Detail[b]" />
答案 2 :(得分:1)
所以,这里实际发生的是这个foreach
循环将键和值拉入循环。如果我们假设变量$_POST['detail']
是一个如下所示的数组:
$_POST['detail']['name'] = 'Joe';
$_POST['detail']['last'] = 'Smith';
调用foreach循环时,
foreach($_POST['Detail'] as $i_Detail => &$a_Detail)
$i_Detail
是数组的关键。因此,在这种情况下,在第一次传递时它将是名称,在下一次传球中它将是最后一次。
$a_Detail
是该键的数组值 - 所以首先传递的是Joe,最后一次传递它将是Smith。
通常你会看到它被表示为foreach($item as $key=>$value)
- 它肯定能更好地表示那里发生的事情。