PHP foreach遍历数组
foreach 是 PHP 中专门为遍历数组而设计的语句,和 Perl 及其他语言很像,是一种遍历数组的简便方法。
使用 foreach 语句遍历数组时与数组的下标无关,不管是不是连续的索引数组,还是以字符串为下标的关联数组,都可以使用 foreach 语句遍历。foreach 只能应用于数组,自 PHP5 起,还可以遍历对象。
foreach 语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。
//第一种格式
foreach (array_expression as $value){
statement
}
//第二种格式
foreach (array_expression as $key => $value){
statement
}
第一种格式会循环遍历给定的 array_expression 数组。每次循环中,当前数组元素的值被赋给 $value,并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个数组元素),直到遍历到数组的末尾,停止遍历并退出循环。
第二种格式功能与第一种相同,只是除了当前数组元素的键名也会在每次循环中被赋给变量 $key。
提示:$key 和 $value 的名称不是固定的,使用时我们可以根据喜好自行定义。
示例代码如下所示:
<?php $array = array('C语言中文网','PHP 教程','PHP 数组','http://c.biancheng.net/php/'); $num = 0; foreach ($array as $value) { echo '数组第'.$num.'个元素的值是:'.$value.'<br>'; $num++; } ?>
上面代码使用的是 foreach 的第一种格式,如果使用第二种格式的换就可以省略掉变量 $num,代码如下所示:
<?php $array = array('C语言中文网','PHP 教程','PHP 数组','http://c.biancheng.net/php/'); foreach ($array as $key => $value) { echo '数组第'.$key.'个元素的值是:'.$value.'<br>'; } ?>
这两组代码的运行结果是相同的,如下所示:
数组第0个元素的值是:C语言中文网
数组第1个元素的值是:PHP 教程
数组第2个元素的值是:PHP 数组
数组第3个元素的值是:http://c.biancheng.net/php/
foreach 和其它循环语句(如 for 和 while)一样可以嵌套使用,当我们遍历多维数组时,就需要将 foreach 语句嵌套起来使用。示例代码如下:
<?php $array = array( array('name'=>'zhangsan','chinese'=>'89','math'=>'95','english'=>'88'), array('name'=>'lisi','chinese'=>'91','math'=>'86','english'=>'90') ); foreach ($array as $key => $value) { echo '二维数组中第'.$key.'个数组的遍历结果:<br>'; if(is_array($value)){ foreach ($value as $k => $v) { echo ' 数组的键为:'.$k.',值为:'.$v.'<br>'; } } } ?>
运行结果如下:
二维数组中第0个数组的遍历结果:
数组的键为:name,值为:zhangsan
数组的键为:chinese,值为:89
数组的键为:math,值为:95
数组的键为:english,值为:88
二维数组中第1个数组的遍历结果:
数组的键为:name,值为:lisi
数组的键为:chinese,值为:91
数组的键为:math,值为:86
数组的键为:english,值为:90
相关文章
- php替换字符串中,PHP 替换字符串中的一些字符方法介绍
- php格式怎么转换为pdf,PHP如何将将word文件转为pdf
- php拼接循环拼接字符串数组,PHP数组拼接
- php://input allow_url_include,php allow_url_include的应用和解释_PHP教程
- PHP编译参数configure配置详解,以及php.ini说明
- PHP安装MySQL模块:简单易行(php添加mysql模块)
- PHP开启MySQL扩展的必要性(php开启mysql扩展)
- 使用 PHP 执行 Linux 命令:轻松运维(php执行linux命令)
- 程序的安装及测试在Linux环境下安装PHP程序及其测试(Linux下php)
- 使用PHP实现Redis分布式缓存(php实例化redis)
- PHP和MySQL协同修改数据库(php mysql 修改)
- PHP开启Redis扩展:实现网站快速加载(php开启redis扩展)
- 深思PHP数组遍历的差异(array_diff的实现)
- 《PHP编程最快明白》第五讲:php目录、文件操作
- php学习笔记数组遍历实现代码
- php在线代理转向代码
- 基于PHP遍历数组的方法汇总分析
- PHP遍历并打印指定目录下所有文件实例
- PHP网页游戏学习之Xnova(ogame)源码解读(三)
- PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
- PHP中比较时间大小实例