博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php foreach用法和实例
阅读量:6097 次
发布时间:2019-06-20

本文共 1348 字,大约阅读时间需要 4 分钟。

原文地址:http://www.cnblogs.com/DaBing0806/p/4717718.html

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”.

来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$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("<ul>");
foreach($myArray as $key=>$val) {
     print("<li>".$key."</li>");
     if (is_array($val)) {     //判断$val的值是否是一个数组,如果是,则进入下层遍历
         print("<ul>");
        foreach($val as $key=>$val) {
             print("<li>".$key."=>".$val."</li>");
         }
         print("</ul>");
     }
}
print("</ul>");
输出结果:

  • 1
    • 11=>val11
    • 12=>val12
    • 13=>val13
  • 2
    • 21=>val21
    • 22=>val22
    • 23=>val23
  • 3
    • 31=>val31
    • 32=>val32
    • 33=>val33

<ul> 和 <li>是 标签,作用是显示个实心小圆点和空心小圆点。

由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。

转载于:https://www.cnblogs.com/yycc/p/7656949.html

你可能感兴趣的文章
mysql删除数据,空间无法释放,alter
查看>>
iOS 计算文字高度
查看>>
xstream cdata 处理方式之一
查看>>
cubes mysql 中文乱码
查看>>
2014年的一些大数据事件
查看>>
Rmi在Spring中的使用之RmiServiceExporter
查看>>
div的移动特效
查看>>
浏览器的本地存储方案及跨域
查看>>
tornado gen
查看>>
锐捷RG-WALL60防火墙配置详解
查看>>
远程桌面
查看>>
2015年下半年软考中高级学员精讲班 第四章
查看>>
DNS域传送泄露漏洞测试方法
查看>>
原创经验:微信小程序开发总结
查看>>
创建swap文件与删除swap分区
查看>>
Linux Shell实现多进程并发执行
查看>>
MySQL的timeout相关配置参数小结一把
查看>>
我的友情链接
查看>>
Apache Spark探秘:Spark Shuffle实现
查看>>
dubbo
查看>>