有人可以解释这是做什么请吗?PHP Foreach循环在单个元素上进行交互?
foreach($_POST['Detail'] as $i_Detail => &$a_Detail)
{
...
}
当然我得到foreach
的prinicple,但在我看来像它试图通过数组的一个元素进行迭代!
有人可以解释这是做什么请吗?PHP Foreach循环在单个元素上进行交互?
foreach($_POST['Detail'] as $i_Detail => &$a_Detail)
{
...
}
当然我得到foreach
的prinicple,但在我看来像它试图通过数组的一个元素进行迭代!
那么,什么是真正发生在这里是这个foreach
环拔钥匙和值进入循环。如果我们假设变量$_POST['detail']
是一个数组,看起来像这样:
$_POST['detail']['name'] = 'Joe';
$_POST['detail']['last'] = 'Smith';
当foreach循环被调用时,
foreach($_POST['Detail'] as $i_Detail => &$a_Detail)
$i_Detail
是阵列的关键。所以,在这种情况下,第一次传球就是姓名,接下来的传球就是最后一次传球。 $a_Detail
是该键处的数组的值 - 所以首先通过它将是乔,最后通过它将是史密斯。
通常,您会看到它标记为foreach($item as $key=>$value)
- 这绝对可以更好地表示发生的情况。
该数组的单个元素本身可能是一个数组。另外,你通过引用传递存储在数组中的值,所以无论你对循环中的$ a_detail做什么,都会实际上改变它所代表的数组中的值。
与HTML的输入,你其实可以传递数组到PHP,
<input name="Detail[a]" />
<input name="Detail[b]" />
感谢您的彻底解释! – CompanyDroneFromSector7G 2012-02-28 16:01:55