我不明白=>一部分。
foreach ($_POST[‘tasks’] as $task_id => $v) {
它在foreach循环中做了什么?
答案 0 :(得分:12)
foreach循环遍历数组中的每个项目,就像for循环一样。在这种情况下,$ task_id是键,$ v是值。例如:
$arr = array('foo1' => 'bar1', 'foo2' => 'bar2');
foreach ($arr as $key => $value)
{
echo $key; // Outputs "foo1" the first time around and "foo2" the second.
echo $value; // Outputs "bar1" the first time around and" bar2" the second.
}
如果未指定任何键,如下例所示,它使用默认索引键,如下所示:
$arr = array('apple', 'banana', 'grape');
foreach ($arr as $i => $fruit)
{
echo $i; // Echos 0 the first time around, 1 the second, and 2 the third.
echo $fruit;
}
// Which is equivalent to:
for ($i = 0; $i < count($arr); $i++)
{
echo $i;
echo $arr[$i];
}
答案 1 :(得分:2)
在PHP中,所有数组都是关联数组。对于数组中的每个键和值对,将键分配给$ task_id,并将值分配给$ v。如果你没有指定另一个键,那么键是一个基于0的整数索引,但它可以是你想要的任何东西,只要该键只使用一次(尝试重用它将意味着用一个键覆盖旧的值)新价值)。
答案 2 :(得分:2)
从上下文来看,$_POST['tasks']
看起来像是某种数组。 foreach()接受该数组中的每个键/值对,并将键放在$task_id
中,将值放在$v
中。例如,如果你有:
$a['q'] = "Hi";
$a[4] = "BLAH";
在第一次迭代中,$task_id
为'q'
,$v
为"Hi"
。在第二次迭代中,$task_id
为4
,$v
为"BLAH"
。