php数组怎么循环前几个元素
实现步骤:1、定义一个变量并赋值为0,用于控制循环元素个数,语法“$con=0;”;2、用foreach语句循环遍历数组,语法“foreach($arr as $k=>$v){//循环体;}”;3、在循环体中,每循环遍历一个元素,设置变量“$con”自增1,当变量“$con”的值为N时,用break语句跳出循环即可,语法“$con++;if($con==N){break;}”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php数组中,可以借助foreach语句和break语句来循环前N个元素。
实现步骤:
步骤1:定义一个变量并赋值为0,用于控制循环遍历次数(元素个数)。
$con=0;
步骤2:使用foreach语句循环遍历数组
foreach是专门为遍历数组而设计的语句,是遍历数组时常用的方法,在遍历数组方面提供了很大的便利
foreach语句遍历数组与数组下标无关,且可以用于不连续的索引数组和以字符串为下标的关联数组。
该语句有两种语法格式:
-
语法格式1:
foreach ($array as $value){ //循环体语句块; }
遍历给定的 $array 数组,在每次循环中将当前数组的值赋给 $value。
-
语法格式2:
foreach ($array as $key => $value){ //循环体语句块; }
遍历给定的 $array 数组,在每次循环中会将当前数组的值赋给 $value,键名赋给 $key。
步骤3:在循环体中,设置变量$con自增1,当变量$con的值为N时,使用break语句跳出循环
-
每循环遍历一个元素,就将变量$con的值加1
-
然后判断变量$con值是否为N,如果是则使用break语句跳出循环
-
如果不是则继续遍历元素
$con++; if($con==N){ //循环遍历前N个元素 break; }
完整示例代码:循环遍历前5个元素
<?php header("Content-type:text/html;charset=utf-8"); $arr=[1,2,3,4,5,6,7,8,9]; var_dump($arr); $con=0; foreach($arr as $k=>$v){ $res[$k]=$v; $con++; if($con==5){ //循环遍历前5个元素 break; } } echo "循环遍历前5个元素:"; var_dump($res); ?>
扩展知识:跳出循环语句break和continue
1、使用continue语句
continue语句的作用是跳出本次循环,接着执行下一次循环(放弃continue语句之后的代码并进行下一次循环)。
下面我们通过代码示例来看看。
示例1:输出1~10 之间的所有偶数(偶数能被2整除)
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { continue; } echo $i.' <br>'; } ?>
分析:
-
for ($i = 1; $i <= 10; $i++){}
语句可以循环得出1~10 之间的所有数字 -
if($i % 2 != 0)
语句用于判断$i
的值能整除2,不能整除则()
中值为true,则执行continue;
语句。 -
在循环体中,使用
if($i % 2 != 0)
语句进行判断,如果$i的值能整除2就使用“echo $i
”输出;如果$i的值不能整除2,则触发continue;
语句,跳出本次循环(不进行输出),执行下一次循环。
输出结果:
2、使用break语句
break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。
break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。
沿用上面的示例1中代码,将continue;
换成break;
,会输出什么?
<?php for ($i = 1; $i <= 10; $i++) { if($i % 2 != 0) { break; } echo $i.' <br>'; } ?>
答案是:什么也不输出。为什么会这样尼?我们来分析一下:
forx循环一开始,$i=1
,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)
语句;
那么1能整除2吗?显然是不能,因此()
中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.' <br>'
”语句。
推荐学习:《PHP视频教程》