
已解决问题
谷歌kw990wg65用户在2016.05.04提交了关于“比特Ph**P中foreach()用法汇总”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-03-02T17:37:22。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !
详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !
这篇文章主要给大家详细介绍了Ph**P中f
Ph**P4引入了foreach结构,和Perl以及其他语言很像。这只是一种遍历数
?
1
2
3
4
5fo
statement
foreach(array_expression
statem
第一种格式遍历给
第二种格式做同样的事
先来看第一个语
?
1
2
3
4$m
foreach($myArrayas$val){
print($val."")
}
其结果会输出:va
再来看看第二种格式,第二种格式除了能像第
先看一个简单的一维数组
?
1
2
3
4$myArray=array("1"=>"val1","2"="val
foreach($myArrayas$key=>$val){
print($key."=>".$val.";");
}
该程序将出输出:1=>val1;2=>val2;3=>val3;,接下来我们再来看一个复杂一点的二维数组遍历,程序如下:
?
17$myArray=array(
"1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"),
"2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"),
"3"=>array("31"=>"val31","32"=>"val32","33"=>"val33")
);
print("
");foreach($myArrayas$key=>$val){
print("
".$key."");if(is_array($val)){//判断$val的值是否是一个数组,如果是,则进入下层遍历
print("
");foreach($valas$key=>$val){
print("
".$key."=>".$val."");}
print("
");}
}
print("
");
输出结果:
?
121
11=>val11
12=>val12
13=>val13
2
21=>val21
22=>val22
23=>val23
3
31=>val31
32=>val32
33=>val33
和是标签,作用是显示个实心小圆点和空心小圆点。
由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。
再通过一个实例解惑
?
$a=array("1"=>"语文","2"=>"数学","3"=>"英语");
$b=array("1"=>"95","2"=>"99","3"=>"92");
foreach($aas$key=>$value){
echo$value;
echo$b[$key]."
";
}
?>
问题是为什么输出数组$b中的值要用$b[$key]而不是$b[$value]?
这是为什么呢?
$a=array("1"=>"语文","2"=>"数学","3"=>"英语");
上面这个和下面这个是完全一样的
$a[1]="语文";
$a[2]="数学"
$a[3]=“英语”
我们输出上面的数组是怎么输出的呢?
肯定是echo$a[1];
对不对?
如果没有疑问我们继续!!!!
------------------------------
简单说foreach
它的格式是这样的foreach(数组名as下标=>值)
下标也就是上面的$a[1],这里的1就是数组的下标!
到这你应该明白了,为什么是$a[$key]这样输出
你记住不管怎么变,数组的输出方法永远是$a[1],不会是$a['语文']
================================================================
foreach()有两种用法:
?
1
2
31:foreach(array_nameas$value){
statement;
}
这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组**的下标向下移一步,也就是下次循环回得到下一个元素。
?
1
2
32:foreach(array_nameas$key=>$value){
statement;
}
这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以是下标值,也可以是字符串。比如book[0]=1中的“0”,book[id]="001"中的“id”.
以上所述就是本文的全部内容了,希望大家能够喜欢。