还有一点就是内循环(foreach ($v1 as $v2) )为什么会执行2次
解决方案 »
- get方法传递值,值是不是不能有空格?
- php新手,问个Wamp如何指定数据库
- php 怎样把变量post给自己的一个函数?phpdesigner 字母间距大
- 关于continue路过几重循环的问题
- 有谁用SWFUpload来实现上传进度条?
- php 树形栏目无限极分类如何输出!
- php的引用,到底有什么用阿?
- php xajxa的兼容性问题?
- 我的电脑打开网页时,状态栏不是提示的网址如:http://www.aa.com/happy.php,而是提示的happy.php在www.aa.com的快捷方式,很不爽,如何
- 不知哪里有关于mysql存取图片等大数据的资料下载呢?
- 请大侠帮忙啊,请进!!!
- 在使用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";
}
}
最好先从一维数组开始了解数组,不然的话,除了晕,还是晕......说真的,让新人看上面那些解释,实在是比较累,比较累