李涛自留地
回到顶部
首页 > php学习 > PHP怎么循环遍历输出数组 PHP遍历输出数字索引数组及多维数组

PHP怎么循环遍历输出数组 PHP遍历输出数字索引数组及多维数组

文章目录

之前学习的数组有关知识中,基本上都是使用var_dump()或者是pinrt_r()及echo输出数组键的方式,打印输出数组,而打印输出数组这种方式,大多数是用在测试或者是线下练习数组使用时使用,那么PHP中如何循环遍历输出数组呢?本文将从PHP如何遍历输出数字索引数组及多维数组、二维关联数组等三大块记载和分享PHP循环遍历数组。

一、PHP遍历输出数字索引数组

PHP遍历输出数字索引主要使用的是PHP的For循环语句。

1、For循环语句语法:

for (expr1; expr2; expr3){
        需要执行的代码段
}

第一个表达式expr1表示在循环开始前无条件求值(并执行)一次。

第二个表达式expr2表示在每次循环开始前求值。如果值为 true,则继续循环,执行嵌套的循环语句。如果值为 false,则终止循环。

第三个表达式expr3表示在每次循环之后被求值(并执行)。

如果第二个表达式expr2如果值为空,则For循环语句将一直执行下去,程序将陷入死循环,计算机会被死循环执行崩溃。

2、For循环为什么可以遍历数字索引数组

根据上面For循环的语法,我们可以明白其实For循环就是一个计数循环语法,而我们如果定义一个简单的数字索引型数组,那么他们的键就是从0开始,而用count()函数就可以统计出这个数字索引数组的元素个数,而数字索引数组的键(索引下标)又是依次递增,所以使用For循环语句就可以遍历输出数字索引类型的数组。

3、For循环遍历输出数字索引数组实例

<?php
$number = [1,2,3,4,5,6,7,8,9,10];
for($i=0;$i<count($number);$i++){
    echo '本次输出的是数组的键'.$i.'的值为:'.$number[$i].'<br>';
}
?>

二、PHP遍历输出关联数组

上面使用For循环简单输出了数字索引型数组,而For循环的特性也只能简单循环输出数字索引型数组,向关联数字因为键不是数字递增类型,所以就不能使用For循环输出,这个时候我们就要用foreach()来循环输出。

1、Foreach()语法

foreach( 要循环的数组变量 as [键变量 =>] 值变量){
//循环的结构体
}

2、Foreach()语法说明:

(1)、as 是Foreach()语法中固定的关键字,是必不可少的。
(2)、后面的键变量是可选的,需要的时候可以写上,不需要也可不写。随意定义一个变量,每次循环的时候,Foreach这个语法会把键取出来赋值到键变量里面。
(3)、后面的值变量是必填的。每次循环的时候,会把值放到值变量里面。

(4)、键变量和值变量可以自己随意定义一个变量,但是在需要和循环结构体里对应,否则会报错。

3、Foreach遍历输出关联数组实例

<?php
$people_info = array('user1'=>'王二','user2'=>'张三','user3'=>'李四');

foreach($people_info as $k => $v){
    echo $k.'------'.$v.'<br>';
}
?>

三、PHP遍历输出多维关联数组

上面依次记录了数字索引类型数组及二维关联数组的遍历输出,如果出现多维关联数组怎么办呢?其实我们还是需要使用Foreach()函数对数组进行遍历输出,不同于二维数组的是,如果有几层数组就嵌套几层Foreach()循环就可以了。

PHP遍历输出多维关联数组实例:

<?php
$family = array('王家'=>array('老大'=>'王大','老二'=>'王二','老三'=>'王三'),'张家'=>['张三','张四'],'李家'=>['李四','李五']);

foreach($family as $keys=>$value){
    echo $keys.'数组开始遍历:<br>';
    foreach($value as $i => $j){
        echo $i.'-----------'.$j.'<br>';
    }
    echo $keys.'数组遍历结束:<br>';
}
?>

以上所有实例代码放在一起执行后截图:

PHP怎么循环遍历输出数组 PHP遍历输出数字索引数组及多维数组

PHP中数组的相关知识还是比较重要的,自己还是得多多的练习数组的相关知识,才能更好的掌握PHP,后面笔者将记载更多有关PHP数组的学习笔记。

若非作者标注皆为李涛自留地原创文章,转载或复制请以超链接形式并注明出处。