请教“控制流程-遍历数组”?在线等。 还有一点就是内循环(foreach ($v1 as $v2) )为什么会执行2次 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <pre><?php$a[0][0] = "a";$a[0][1] = "b";$a[1][0] = "y";$a[1][1] = "z";foreach ($a as $v1) /*为何会得到2个值: $v1[0] = "a"; $v1[1] = "b"*/{ print_r($v1); foreach ($v1 as $v2) /*把$v1的值赋给$v2时是把上面的2个值一起还是分别赋值*/ { print "$v2\n"; }}?>外循环第一次Array( [0] => a [1] => b)ab外循环第二次Array( [0] => y [1] => z)yz 你要知道这是一个二维数组可以这么理解$b = array("a","b");$c = array("x","y");$a = array($b,$c);可以看到这时$a这时是一个包含二个元素的数组,而每个元素又是一个数组,那么第一次遍历的时候是这样的从$a中取出一个元素并赋值给$v1,相当于$v1=$b,然后进行里面的循环,由于$v1=$b=array("a","b");所以$v1数组进行遍历,能分别得到a,b两个值。再回到外部循环,相当于$v1 = $c = array("x","y"),这时里面的循环对数组进行遍历得到x,y两个值。foreach ($a as $v1) { //在这里print_r($v1)相当于两次print_r($b)和print_r($c) foreach ($v1 as $v2) { print "$v2\n"; }} 楼上的老大讲的很好...不过,个人有一个意见.如果是初学PHP且以前对写程序没有较好的了解,最好先从一维数组开始了解数组,不然的话,除了晕,还是晕......说真的,让新人看上面那些解释,实在是比较累,比较累 测试了个简单的PHP程序返回500错误。。。 如何将这种米萨市转成汉字? php+ajax验证用户名唯一的问题! php写些配置信息到文件中,如果修改其中某一行该如何来处理? PHP类型强制转换? 在表单中加入iframe 在提交后iframe中的值如何传递回来? 求PHP的服务器监控程序 帮我解答一下这句话! 新手请教APACHE为什么整个目录的文件都显示出来了? php一句话木马解释 请大侠帮忙啊,请进!!! 在使用mssql提交字段内容经常出现数据益出,如何搞好???
<?php
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";foreach ($a as $v1) /*为何会得到2个值: $v1[0] = "a"; $v1[1] = "b"*/
{
print_r($v1);
foreach ($v1 as $v2) /*把$v1的值赋给$v2时是把上面的2个值一起还是分别赋值*/
{
print "$v2\n";
}
}
?>
外循环第一次
Array
(
[0] => a
[1] => b
)
a
b外循环第二次
Array
(
[0] => y
[1] => z
)
y
z
可以这么理解
$b = array("a","b");
$c = array("x","y");
$a = array($b,$c);
可以看到这时$a这时是一个包含二个元素的数组,而每个元素又是一个数组,
那么第一次遍历的时候是这样的
从$a中取出一个元素并赋值给$v1,相当于$v1=$b,然后进行里面的循环,
由于$v1=$b=array("a","b");所以$v1数组进行遍历,能分别得到a,b两个值。再回到外部循环,相当于$v1 = $c = array("x","y"),这时里面的循环对数组进行遍历得到x,y两个值。foreach ($a as $v1)
{
//在这里print_r($v1)相当于两次print_r($b)和print_r($c)
foreach ($v1 as $v2)
{
print "$v2\n";
}
}
最好先从一维数组开始了解数组,不然的话,除了晕,还是晕......说真的,让新人看上面那些解释,实在是比较累,比较累