php foreach用法和实例
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/DaBing0806/p/4717718.html
php foreach用法和实例相关推荐
- foreach php,详解PHP中foreach的用法和实例
本篇文章介绍了详解PHP中foreach的用法和实例,详细介绍了foreach的用法,感兴趣的小伙伴们可以参考一下. 在PHP中经常会用到foreach的使用,而要用到foreach,就必须用到数组. ...
- c语言中sign的用法,sign函数用法和实例详解
内容提要:本文从用法和实例入手,介绍了Excel中sign函数的应用. 第一,sign函数用法说明 sign函数用于返回数字的符号.正数为1,零为0,负数为-1. sign函数语法:SIGN(numb ...
- java中List的用法和实例详解
Java中List的用法和实例详解 List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提 ...
- matlab log函数怎么使用,matlab对数函数的用法和实例,来充电吧
有时候我们在用matlab计算的时候,想使用对数函数,怎么用呢,下面来分享一下方法 工具/材料 matlab 对数函数的用法和实例 操作方法 01 第一步首先介绍自然数对数log(x),电脑中打开ma ...
- python的strip、lstrip、rstrip函数的用法和实例
目录 1.strip函数的用法和实例 (1)语法和用法 ①语法:str.strip([string]) ②用法:替代字符串两边某指定字符. (2)实例 ①简单的用法 ②与if函数结合使用 1.stri ...
- css3动画旋转360度,CSS3旋转动画(360度旋转、旋转放大、放大、移动) 用法和实例...
CSS3旋转动画(360度旋转.旋转放大.放大.移动) 用法和实例 Internet Explorer 10.Firefox.Opera 支持 transform 属性. Internet Explo ...
- nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型
对于cnn前馈神经网络如果前馈一次写一个forward函数会有些麻烦,在此就有两种简化方式,ModuleList和Sequential.其中Sequential是一个特殊的module,它包含几个子M ...
- 数组的foreach方法和jQuery中的each方法
欢迎加入前端交流群交流知识&&获取视频资料:749539640 /* * 数组的forEach方法: * 1.返回给回调的参数先是值,然后是下标 * 2.回调函数执行时内部的this指 ...
- java 实例化list_java中List的用法和实例详解
List的用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列 ...
最新文章
- 【OpenCV】正确创建用于保存YUV420P格式的cv::Mat
- 四肢切割_四肢瘫痪者用大脑信号和先进的假肢完成吃饭动作
- tensorflow学习函数笔记
- 比特币的锁定脚本与解锁脚本
- win10 修改gitlab账号_玩转gitlab + jenkins
- 显示菜单栏_mac菜单栏不显示了,如何设置?
- jQuery中的live绑定多个事件整理
- 对比Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)
- 红帽linux开启vnc服务器,红帽Linux上使用VNC
- 码农故事:一个辞职创业卖凉皮的程序员
- 解决windows server2012 评估版本过期,系统自动关机 重启
- QT自定义控件-经纬度输入框
- 几种常用cv工具的颜色通道总结
- Linux下用五笔输入法
- 如何下载720云上的全景图片?
- Optical Flares for Mac/win(AE镜头光晕耀斑插件) ​
- 用手机打开exe文件
- 【前端开发】在windows 10上安装gulp(详细讲解)
- gcc与cuda的关系
- JAVA java学习(9)——————java常用开发工具介绍