PHP遍历数组的3种方法(附带实例)
在 PHP 中,遍历数组有以下 3 种常用方法:
在这 3 种方法中,效率最高的是使用 foreach() 语句循环遍历数组。PHP4 开始引入 foreach() 语句,这是 PHP 专门为遍历数组而设计的语句。
【实例 1】使用 for() 语句循环遍历数组。
第 1 种方式的格式如下:
第 2 种方式的格式如下:
list() 函数不是一个真正的函数,是PHP的一个语言结构。list() 函数使用一步操作对一组变量进行赋值。
【实例 4】用 list() 函数、each() 函数和 while() 语句循环遍历数组
- 使用 for() 语句循环遍历数组;
- 使用 foreach() 语句循环遍历数组;
- 联合使用 list() 函数、each() 函数和 while() 语句循环遍历数组。
在这 3 种方法中,效率最高的是使用 foreach() 语句循环遍历数组。PHP4 开始引入 foreach() 语句,这是 PHP 专门为遍历数组而设计的语句。
PHP for()循环遍历数组
注意,使用 for() 语句循环遍历数组要求遍历的数组必须是索引数组。PHP 中不仅有关联数组还有索引数组,所以很少使用 for() 语句循环遍历数组。【实例 1】使用 for() 语句循环遍历数组。
<?php $arr = Array('PHP','JSP','ASP'); $num = count($arr); for($i=0;$i<$num;++$i){ echo $arr[$i].'<br />'; } ?>在上述代码中,首先计算出数组 $arr 中的元素个数,然后使用 for() 语句,这种做法十分高效。因为根据 for($i=0;$i<$num;++$i),每次循环都会计算数组 $arr 中的元素个数,而使用上面的方式可以减少这种开销。
PHP foreach()循环遍历数组
使用 foreach() 语句循环遍历数组有以下 2 种方式,使用较多的是第 1 种方式。第 1 种方式的格式如下:
foreach(Array_expression as $value){ //循环体 }【实例 2】使用 foreach() 语句循环遍历数组。
<?php header("content-type:text/html;charset=utf-8"); $arr=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见"); foreach($arr as $value){ echo $value.'<br />'; } ?>运行结果为:
PHP
ASP
JSP
西游记
水浒传
人生若只如初见
第 2 种方式的格式如下:
foreach(Array_expression as $key=>$value){ //循环体 }【实例 3】使用 foreach() 语句循环遍历数组,并输出键名和键值。
<?php header("content-type:text/html;charset=utf-8"); $arr=Array("PHP",4=>"ASP","JSP","名著1"=>"西游记","名著2"=>"水浒传","小说"=>"人生若只如初见"); foreach($arr as $k=>$v){ echo $k."=>".$v."<br />"; } ?>运行结果为:
0=>PHP
4=>ASP
5=>JSP
名著1=>西游记
名著2=>水浒传
小说=>人生若只如初见
PHP list()、each()和while()循环遍历数组
each() 函数需要传递一个数组作为一个参数,返回数组中当前元素的键名/键值对,并向后移动数组指针到下一个元素的位置。list() 函数不是一个真正的函数,是PHP的一个语言结构。list() 函数使用一步操作对一组变量进行赋值。
【实例 4】用 list() 函数、each() 函数和 while() 语句循环遍历数组
<?php $arr = Array('PHP','JSP','ASP'); while(list($k,$v) = each($arr)){ echo $k.'=>'.$v.'<br />'; } ?>运行结果为:
0=>PHP
1=>JSP
2=>ASP