PHP 中遍历数组有三种常用的方法:
一使用 for 语句循环遍历数组;
二使用 foreach 语句遍历数组;
三联合使用 list()each() 和 while 循环遍历数组
这三种方法中效率最高的是使用 foreach 语句遍历数组从 PHP4 开始就引入了 foreach 结构, 是 PHP 中专门为遍历数组而设计的语句, 推荐大家使用先分别介绍这几种方法
一使用 for 语句循环遍历数组
值得大家注意的是使用 for 语句循环遍历数组要求遍历的数组必须是索引数组 PHP 中不仅有关联数组而且还有索引数组, 所以 PHP 中很少用 for 语句循环遍历数组
实例代码如下:
代码如下:
- $arr = array('http://www.jb51.net','脚本之家','PHP 教程');
- $num = count($arr);
- for($i=0;$i<$num;++$i){
- echo $arr[$i].'
- ';
- }
- ?>
注释: 上例代码中我们先计算出数组 $arr 中元素的个数, 然后才使用在 for 语句, 这样做很高效的因为如果是 for($i=0;$i<count($arr);++$i) 的话, 每次循环都会计算数组 $arr 中元素的个数, 而使用上面的方式可以减去这种开销使用 ++$i 也是为了提高效率, 前面有文章我们提到过, 建议大家再看看
上面代码的输出结果为:
http://www.jb51.net
脚本之家
PHP 教程
二使用 foreach 语句遍历数组
使用 foreach 语句循环遍历数组有二种方式, 我们使用的最多的还是第一种方式介绍如下:
第一种方式:
- foreach(array_expression as $value){
- // 循环体
- }
实例代码:
代码如下:
- $arr = array('http://www.jb51.net','脚本之家','PHP 教程');
- foreach($arr as $value){
- echo $value.'
- ';
- }
- ?>
每次循环中, 当前元素的值被赋给变量 $value, 并且把数组内部的指针向后移动一步所以下一次循环中会得到数组的下一个元素, 直到数组的结尾才停止循环, 结束数组的遍历
第二种方式:
- foreach(array_expression as $key=>$value){
- // 循环体
- }
实例代码:
代码如下:
- // 定义数组
- $arr = array('http://www.jb51.net','脚本之家','PHP 教程');
- foreach($arr as $k=>$v){
- echo $k."=>".$v."
- ";
- }
- ?>
三联合使用 list()each() 和 while 循环遍历数组
each() 函数需要传递一个数组作为一个参数, 返回数组中当前元素的键 / 值对, 并向后移动数组指针到下一个元素的位置
list() 函数, 这不是一个真正的函数, 是 PHP 的一个语言结构 list() 用一步操作给一组变量进行赋值
实例代码:
代码如下:
- // 定义循环的数组
- $arr = array('website'=>'http://www.jb51.net','webname'=>'脚本之家')
- while(list($k,$v) = each($arr)){
- echo $k.'=>'.$v.'
- ';
- }
- ?> jb51.net
输出结果为:
website=>http://www.jb51.net
webname=>PHP 程序员
总结: 上述三种循环遍历数组的方法中建议大家使用 foreach 语句循环遍历数组, 效率更高
来源: https://www.php1.cn/detail/php-215a5fa1c4.html