一般foreach是用在历遍数组内的值用的.
$r=array('1','2','3','4','5');foreach($r as $v)
{
echo $v.'<br>';
}输出结果为
1
2
3
4
5如果楼主连数组也不是很清楚,就比较麻烦了
$r=array('1','2','3','4','5');foreach($r as $v)
{
echo $v.'<br>';
}输出结果为
1
2
3
4
5如果楼主连数组也不是很清楚,就比较麻烦了
foreach($array as $key=>$value)
他等价于
while(list($key,$value) = each($array))工作流程是顺次从数组中取出一个元素,该元素的键或下标保存到变量$key,值保存到变量$value其中$key可以省略。如果省略了,就是你给出的样子。在你给出的代码中,$a是一个二维数组
所以外层的循环每次取出一个一维数组,交于内层循环
我就是不知道“foreach ($v1 as $v2)”此时$v1是值什么?
$v1[0] = "a";
$v1[1] = "b";第二次
$v1[0] = "y";
$v1[1] = "z";foreach ($a as $v1)
{
print_r($v1); //在这里查看一下
foreach ($v1 as $v2)
{
print "$v2\n";
}
}
$a[0][0] = "a";
$a[0][1]= "b";
$a[1][0]= "y";
$a[1][1]= "z";foreach ($a as $v1)
{
print_r($v1);//加入一句发现其中的不同
foreach ($v1 as $v2) /*尤其是句怎么也弄不明白*/
{ print "$v2\n";
}
}
?>
双重循环
流程如下:
{ 大循环
1次循环结果 Array ( [0] => a [1] => b )
{小循环
1次循环结果 a
2次循环结果 b
}
2次循环结果Array ( [0] => y [1] => z )
{小循环
1次循环结果 y
2次循环结果 z
}
}结束循环