PHP中foreach()用法汇总_php技巧
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中foreach()用法汇总_php技巧,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3287字,纯文字阅读大概需要5分钟。
内容图文
![PHP中foreach()用法汇总_php技巧](/upload/InfoBanner/zyjiaocheng/265/878b469d563f4f7e9f9ff54a91ec162b.jpg)
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只是除了当前单元的键名也会在每次循环中被赋给变量 $key。
先来看第一个语句,这个语句比较简单,array_expression指的是一个数组表达式,as $val语句将顺序取得该数组的值并保存到$val变量中,此种方法只能取得数组内的值,而不能取得数组的下标索引值。例如:
$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3"); foreach($myArray as $val) { print($val." "); }
其结果会输出:val1 val2 val3
再来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$key变量中,如果数组的索引值未经过人工设定,则返回系统默认的设定值,
看正面例子:
先看一个简单的一维数组:
$myArray=array("1"=>"val1","2"="val2","3"=>"val3"); foreach($myArray as $key=>$val) { print($key."=>".$val.";"); }
该程序将出输出:1=>val1;2=>val2;3=>val3;,接下来我们再来看一个复杂一点的二维数组遍历,程序如下:
$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($myArray as $key=>$val) {
print("
- ".$key." "); if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历 print("
- ".$key."=>".$val." "); } print("
- ");
foreach($val as $key=>$val) {
print("
输出结果:
1 11=>val11 12=>val12 13=>val13 2 21=>val21 22=>val22 23=>val23 3 31=>val31 32=>val32 33=>val33
- 和
- 是 标签,作用是显示个实心小圆点和空心小圆点。
由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。再通过一个实例解惑
<?php $a = array("1"=>"语文","2"=>"数学","3"=>"英语"); $b = array("1"=>"95","2"=>"99","3"=>"92"); foreach($a as $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: foreach(array_name as $value){ statement; }
这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。
2:foreach(array_name as $key => $value){ statement; }
这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以是下标值,也可以是字符串。比如book[0]=1中的“0”,book[id]="001"中的“id”.
以上所述就是本文的全部内容了,希望大家能够喜欢。
内容总结
以上是互联网集市为您收集整理的PHP中foreach()用法汇总_php技巧全部内容,希望文章能够帮你解决PHP中foreach()用法汇总_php技巧所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。