登录  /  注册

php数组怎么循环前几个元素

青灯夜游
发布: 2022-08-22 17:22:59
原创
1741人浏览过

实现步骤:1、定义一个变量并赋值为0,用于控制循环元素个数,语法“$con=0;”;2、用foreach语句循环遍历数组,语法“foreach($arr as $k=>$v){//循环体;}”;3、在循环体中,每循环遍历一个元素,设置变量“$con”自增1,当变量“$con”的值为n时,用break语句跳出循环即可,语法“$con++;if($con==n){break;}”。

php数组怎么循环前几个元素

本教程操作环境: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);
?>
登录后复制

1.png

扩展知识:跳出循环语句break和continue

1、使用continue语句

continue语句的作用是跳出本次循环,接着执行下一次循环(放弃continue语句之后的代码并进行下一次循环)。

下面我们通过代码示例来看看。

示例1:输出1~10 之间的所有偶数(偶数能被2整除)

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            continue;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
登录后复制

分析:

  • 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.png

2、使用break语句

break语句用于跳出当前的语法结构,可以终止循环体的代码并立即跳出当前的循环,执行循环之后的代码。

break和continue的不同点是:continue语句只是结束本次循环,而 break 语句会终止整个循环的执行。

沿用上面的示例1中代码,将continue;换成break;,会输出什么?

<?php
    for ($i = 1; $i <= 10; $i++) {
        if($i % 2 != 0) {
            break;
        }
        echo $i.&#39; <br>&#39;;
    }
?>
登录后复制

答案是:什么也不输出。为什么会这样尼?我们来分析一下:

forx循环一开始,$i=1,1小于10吗?当然,然后开始执行循环体中的if($i % 2 != 0)语句;

那么1能整除2吗?显然是不能,因此()中值为true,则执行if中的“break;”语句,直接跳出整个循环了,根本没有机会执行“echo $i.' <br>'”语句。

推荐学习:《PHP视频教程

以上就是php数组怎么循环前几个元素的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号