首页 > 开发 > PHP > 正文

PHP数组遍历的几种常见方式总结

2024-05-04 22:41:01
字体:
来源:转载
供稿:网友

本文实例讲述了PHP数组遍历的几种常见方式。分享给大家供大家参考,具体如下:

1、使用for循环遍历数组

conut($arr);用于统计数组元素的个数。
for循环只能用于遍历,纯索引数组!!!!
如果存在关联数组,count统计时会统计两种数组的总个数,使用for循环遍历混合数组,导致数组越界!!

eg:

$arr = array(1,2,3,5,6,7);$num = count($arr); //count最好放到for外面,可以让函数只执行一次echo "数组元素的个数{$num}<br/>";for($i=0;$i<$num;$i++){ echo "{$i}==>{$arr[$i]}<br/>";}

2、forEach循环遍历数组

foreach可以遍历任何类型的数组!!!

eg:

$arr = array(1,2,3,"one"=>4,5,6,7);foreach($arr as $value){ echo "{$item}<br>";}foreach($arr as $key => $value){ echo "{$key}==>{$item}<br>";}

举个例子解析如下数组:

$h51701 = array( "group1"=>array(  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男") ), "group2"=>array(  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男") ), "group3"=>array(  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男"),  array("name"=>"张三","age"=>14,"sex"=>"男") ));foreach ($h51701 as $key => $value) { echo "{$key}<br><br>"; foreach ($value as $key1 => $value1) {  echo "第".($key1+1)."个同学<br>";  foreach ($value1 as $key2 => $value2) {  echo "{$key2}==>{$value2}<br>";  }  echo "<br>"; } echo "------------------------<br>";}

使用list()、each()、while()遍历数组

(重点)list():用于将数组的每一个值,赋值给list函数的每一个参数。(list函数的参数,必须小于等于数组的元素个数);

eg:list($a,$b,$c)=[1,2,3];-->$a=1; $b=2; $c=3;

注意:
list()在解析数组时,只解析索引数组;
② list可以通过空参数,选择性的解析数组的值;

list($a,,$b)=[1,2,3];-->$a=1;  $b=3;

(重点)each():用于返回数组当前指针所在位的键值对!并将指针后移一位;

返回值:如果指针有下一位,返回一个数组。包含一个索引数组(0-键,1-值)和一个关联数组("key"-键,"value"-值);如果指针没有下一位,返回false;

eg:

each($arr) 返回数组或false;
② 把数组或false赋值给$a;
③ while判断$a如果是数组,继续执行下一次;

如果$a是false,终止循环

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表