PHP foreach遍历数组
在 PHP 中,很少需要自己动手将大量的数据声明在数组中,而是通过调用函数返回值或者数据库查询结果来获取一个数组。使用数组的目的,就是将多个相互关联的数据,组织在一起形成集合,作为一个单元使用,达到批量处理数据的目。大部分数组都需要使用遍历的方式来处理数组中的每个元素。
foreach 是 PHP 中专门为遍历数组而设计的语句,和 Perl 及其他语言很像,是一种遍历数组的简便方法。
使用 foreach 语句遍历数组时与数组的下标无关,不管是不是连续的索引数组,还是以字符串为下标的关联数组,都可以使用 foreach 语句遍历。foreach 只能应用于数组,自 PHP5 起,还可以遍历对象。
foreach 语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。
第二种格式功能与第一种相同,只是除了当前数组元素的键名也会在每次循环中被赋给变量 $key。
foreach 是 PHP 中专门为遍历数组而设计的语句,和 Perl 及其他语言很像,是一种遍历数组的简便方法。
使用 foreach 语句遍历数组时与数组的下标无关,不管是不是连续的索引数组,还是以字符串为下标的关联数组,都可以使用 foreach 语句遍历。foreach 只能应用于数组,自 PHP5 起,还可以遍历对象。
foreach 语句有两种语法格式,第二种比较次要但却是第一种有用的扩展。
//第一种格式
foreach (array_expression as $value){
statement
}
//第二种格式
foreach (array_expression as $key => $value){
statement
}
第二种格式功能与第一种相同,只是除了当前数组元素的键名也会在每次循环中被赋给变量 $key。
提示:$key 和 $value 的名称不是固定的,使用时我们可以根据喜好自行定义。
示例代码如下所示:<?php $array = array('新宝库','PHP 教程','PHP 数组','https://www.xinbaoku.com/php/'); $num = 0; foreach ($array as $value) { echo '数组第'.$num.'个元素的值是:'.$value.'<br>'; $num++; } ?>上面代码使用的是 foreach 的第一种格式,如果使用第二种格式的换就可以省略掉变量 $num,代码如下所示:
<?php $array = array('新宝库','PHP 教程','PHP 数组','https://www.xinbaoku.com/php/'); foreach ($array as $key => $value) { echo '数组第'.$key.'个元素的值是:'.$value.'<br>'; } ?>这两组代码的运行结果是相同的,如下所示:
数组第0个元素的值是:新宝库
数组第1个元素的值是:PHP 教程
数组第2个元素的值是:PHP 数组
数组第3个元素的值是:https://www.xinbaoku.com/php/
<?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
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算