foreach用法和实例
来源:互联网 发布:淘宝首页制作图 编辑:程序博客网 时间:2024/06/10 02:18
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值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。
- foreach用法和实例
- php foreach用法和实例
- php foreach用法和实例
- php foreach用法和实例
- php foreach用法和实例
- php foreach用法和实例
- PHP中foreach的用法和实例
- smarty中foreach和section的用法及实例
- php foreach用法和实例(转载,写的很详细)
- JS forEach和map用法
- foreach 和in的用法
- for,foreach,iterator的用法和区别
- for,foreach,iterator的用法和区别
- for,foreach,iterator的用法和区别
- for,foreach,iterator的用法和区别
- Qt foreach 和 QTextCodec类的用法
- for,foreach,iterator的用法和区别
- java中for和foreach的用法
- 定时器——setTimeout
- if的特殊使用
- Android弹出Launcher选择窗,选择启动桌面
- 窗口抖动问题
- C# Snippet使用,代码片段管理
- foreach用法和实例
- 你不知道的JavaScript (上)
- 在 Linux 下搭建 Git 服务器
- constone svn .a文件上传失败
- 什么是真正的实时操作系统
- 使用 Redis 实现分布式锁
- 程序员,如何从平庸走向理想?
- spark中的job和stage
- Django logging set up