php基础教程 第八步循环补充

其它循环

上一节内容中,讲解了php中的循环,并且了解了for循环。for循环是php循环中的一种,在本节中继续讲解php循环:While循环、do…while循环、foreach 循环。

While循环

While循环和for循环类似,但是在它的圆括号中只填写循环执行的条件。
语法格式如下:

while (条件)
{要循环的代码;
}

查看以下代码示例:

<?php
$a=array("1","hello",12,"LiLei",13);
$i=0;
while ($i<count($a))
{echo $a[$i].'<br/>';
}
?>

以上代码示例中,定义了一个a数组变量,值为 "1","hello",12,"LiLei",13,随后定义了一个i变量,值为0。
接下来使用了while循环,在条件中,添加了 $i<count($a),用来判断当前i变量每循环一次是否已经大于了数组长度。随后每次循环都输出当前a数组的第i位置值。

查看完以上代码,我们发现,$i变量并没有进行增减,一直都是初始化时的值,为0。此时循环将会一直执行,成为死循环。要避免这种情况我们可以使$i 变量每循环一次就增加1,代码可以写为如下:

<?php
$a=array("1","hello",12,"LiLei",13);
$i=0;
while ($i<count($a))
{echo $a[$i].'<br/>';$i++;
}
?>

在循环的代码中,执行了$i++每次循环i变量加一。这样i值会有变化,在有限次数内会跳出循环。
最终结果如下:
在这里插入图片描述

do…while 循环

do…while循环是类型while的一种循环方式,查看以下do…while循环的语法:

do
{要执行的代码;
}
while (条件);

do…while 循环与while循环的不同是,do…while循环条件放在后面,while循环是在前面。这种方式方式有什么不同呢?请看以下示例:

<?php
$i=5;
do
{echo 'hello';$i++;
}while ($i<5);
?>

在以上的do…while循环中,while循环后的条件是 $i<5,但是变量i的值初始化定义的时候为5,条件是不成立的,那么循环是否会执行?查看以下结果:
在这里插入图片描述
循环指定了一次,输出了一个hello,随后就跳出循环。
do…while循环和while 循环的不同点在于,do…while循环不管条件成立与否都会执行一次循环,而while循环则会先判断条件随后再进行循环。两者先后顺序不一样。并且do…while循环需要在条件后打上分号,表示结束。

foreach 循环

foreach循环用于遍历数组,每次循环,数组的元素值就会赋值给一个变量。语法如下:

foreach (数组 as 指向的变量)
{循环的代码;
}

示例如下:

<?php
$a=array('1','aaaa',23,'daw');
foreach($a as $val){echo $val.'<br/>';
}
?>

以上代码中,定义了一个数组变量a,接下来使用foreach循环进行数组的遍历。
在foreach的圆括号中,代码为 $a as $val,释义为变量val指向数组a变量的元素,每次都指向下一个。例如第一次循环指向为’1’,第二次循环指向为’aaaa’,第三次以此类推。结果如下:
在这里插入图片描述

foreach循环变量键值对

foreach循环对键值对的遍历也是非常友好的。查看如下示例:

<?php
$a=array('name'=>'Xiaoming','age'=>23);
foreach($a as $key=>$val){echo $key.'=>'.$val.'<br/>';
}
?>

以上示例中,定义了一个键值对数组a,name是键,Xiaoming是值,其它值也是键值对。
使用foreach进行对a数组的遍历,在圆括号中 $a as $key=>$val,首先是需要遍历的数组 a,使用关键字as,之后是$key=>$val,表示键值对的一种关系,$key 是键 $val 是指,这两个变量名可以随意更改,并不是一定需要跟我所写的一致。
结果如下:

在这里插入图片描述
在键值对的数组中,也可以不设置键值对关系。例如示例:

<?php
$a=array('name'=>'Xiaoming','age'=>23,12,'ddd','sex'=>'nan',444);
foreach($a as $key=>$val){echo $key.'=>'.$val.'<br/>';
}
?>

以上数组中并不完全是设置的键值对。运行结果如下:
在这里插入图片描述
自定义键值对后,如果出现未定义键的数组元素,则会从0开始默认分配。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/287913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Microsoft Graph 的 .NET 6 之旅

这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva 写的文章&#xff0c;原文地址&#xff1a;https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet-6-journey/。Microsoft Graph 是一个 API 网关&#xff0c;它提供了对 Microsoft 365 生态系统…

小鱼便签_同样是写便签,这样更酷

每天那么多的工作&#xff0c;总喜欢写一些Tips提醒自己。但是如果全部都写在小纸条上&#xff0c;贴在电脑边上&#xff0c;每日身边飞扬着无数小纸条&#xff0c;实在是太讨厌啦&#xff01;这时候&#xff0c;不妨试试一款电脑桌面便签软件——小鱼便签&#xff0c;让你的办…

ArcGIS实验教程——实验十一:影像拼接与提取

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) 【实验描述】本实验讲述在ArcGIS软件中进行日常影像(栅格)数据的拼接与提取(裁剪)的工具与方法。影像的拼接常用到的工具是Mosaic和Mosaic To New Raster;影像提取分为按属性提取、形状或位置提…

php基础教程 第九步 自定义函数

自定义函数 在之前的课程我们有使用到php的系统函数&#xff0c;这些函数由系统定义。在开发中&#xff0c;有时候系统自带的函数满足不了我们开发时&#xff08;或其它情况&#xff09;&#xff0c;我们可以自定义函数。顾名思义&#xff0c;自定义函数就是自己定义函数。 自…

如何使用 C# 隐藏 Console 窗口?

咨询区 Stefan Steiger我有一个 Console 程序&#xff0c;它主要用来重启 IIS 以及删除临时文件&#xff0c;我现在期望它启动后隐藏自身&#xff0c;我在网上找了下面这段代码做了隐藏。static void Main(string[] args) {var currentProcess System.Diagnostics.Process.Get…

编写登陆接口

用任意一种语言实现登陆接口 作者&#xff1a;尹正杰 版权声明&#xff1a; 本篇博客仅仅用于交流学习使用&#xff0c;对一些小功能的实现&#xff0c;来练习对代码的熟练度。同时&#xff0c;本篇博客允许转载&#xff0c;用于互相交流学习&#xff0c;转载必须在博客声明原链…

php基础教程 第十步 阶段性知识补充

简 在php教程中前九步已经了解了php的一些基础知识。大多数人在了解完以上知识后脑子还是迷茫的&#xff0c;最多懂的一些我所讲解过的知识如何实现&#xff08;对象为零基础读者&#xff09;&#xff0c;如何搭建一个网站还是不知晓。没关系&#xff0c;接下来我们即将进入ph…

ArcGIS实验教程——实验十三:栅格空间插值分析

ArcGIS实验视频教程合集:《ArcGIS实验教程从入门到精通》(附配套实验数据) >>> 实验前必读:《完美解决ArcGIS10.x栅格空间插值报错无法进行和导出插值栅格结果出错的问题》 一、实验描述 一般情况下采集到的数据都是以离散点的形式存在的,只有在这些采样点上才有…

ARM路线的投机性和欺骗性

过去十年里&#xff0c;在自主CPU取得了长足进步的同时&#xff0c;一批企业积极引进英特尔、AMD、VIA、IBM、ARM、高通等公司的技术&#xff0c;或是成立合资公司&#xff0c;相对于X86、Power等处理器很容易被识别为技术引进CPU&#xff0c;ARM的欺骗性则要强很多&#xff0c…

营业执照在线一键生成_如何在线制作证件照?证件照一键生成的方法

如何在线制作证件照&#xff1f;每一年的毕业季也是就业季&#xff0c;几百多万的大学生都面临着找工作&#xff0c;而在工作之前必须准备好证件照&#xff0c;这样方便参加面试和入职。随着市场需求的逐步扩大&#xff0c;很多便捷的软件和网站都被设计出来了&#xff0c;比如…

php基础教程 第十一步 面向对象

面相对象 面向对象程序设计简称OOP&#xff08;Object-oriented programming&#xff09;。是一种类型的抽象&#xff0c;或者说是一种类型以编码的方式进行描述。概念上理解并不能直观的说明问题&#xff0c;以下将会有示例为读者直观的感受面向对象。 类代表一个类别&#…

Android NDK开发Crash错误定位[转]

使用 ndk-stack 的时候需要你的 lib 编译为 debug版的&#xff0c;通常需要下面的修改&#xff1a; 1. 修改 android.mk&#xff0c;增加&#xff0c;为 LOCAL_CFLAGS 增加 -g 选项 2. 修改 application.mk&#xff0c;增加 APP_OPTIM : debug 3. nkd-build -B 4. 从 obj/local…

实验报告类与对象水井问题_物业设施设备巡检检查对象、周期和频次

点击上方“物业精英俱乐部”&#xff0c;关注公众号,中国物业管理行业精英联盟&#xff0c;中国百强物业企业精英学习平台。来源&#xff1a;百度文库版权归原创作者所有一巡检对象、周期和频次所谓巡检&#xff0c;并不是说将大大小小的所有物业设施都列入巡检范围&#xff0c…

龙芯2K1000LA处理器流片成功,龙芯业务全面转向LoongArch架构

2022年4月底&#xff0c;龙芯2K1000处理器完成了改版芯片&#xff08;代号龙芯2K1000LA&#xff09;的功能和性能测试&#xff0c;正在开展用户试用。龙芯2K1000LA在实现与原有版本2K1000引脚和接口兼容的基础上&#xff0c;处理器核更新为基于龙芯自主指令系统架构LoongArch&a…

php基础教程 第十一步 面向对象补充

继承 上一节中学习了php类&#xff0c;以及类方法、类成员变量相关的一些知识&#xff0c;接下来开始学习php类中的继承。本节是上一节的补充。&#xff08;其实也就是为了保持日更随便发的一篇文&#xff09; 开始 php继承是继承与父类的所有属性&#xff0c;就像你继承了你…

【Ubuntu】ubuntu物理机安装方法:wubi

在之前的文章里我们曾经详细介绍了如何在虚拟机里安装ubuntu操作系统&#xff0c;但是一些小伙伴希望在自己的电脑里安装一个ubuntu&#xff0c;来感受一下ubuntu的硬体验。下面给大家介绍一种通过wubi的安装方法。 wubi是 Windows Ubuntu-Based Installer 缩写&#xff0c;是一…

server如何调用 thrift_Thrift总结(二)如何快速创建自己的RPC服务

前面介绍了thrift 基础的东西&#xff0c;怎么写thrift 语法规范编写脚本&#xff0c;如何生成相关的语言的接口。不清楚的可以看这个《Thrift总结(一)介绍》。做好之前的准备工作以后&#xff0c;下面就开始如何用Thrift写RPC接口。如何用Thrift写RPC接口1. 打开之前下载的thr…

Hello Playwright:(2)简化部署方式

前言上次的文章Hello Playwright&#xff1a;(1)从开发到部署发表后&#xff0c;有网友留言问&#xff0c;有不有简化部署的方式&#xff1a;下面&#xff0c;提供 2 种可行的方案。方案 1. Copy其实 Playwright 默认是到C:\Users\用户名\AppData\Local\ms-playwright文件夹下查…

C++入门指南及实战 第一步 概述及经典HelloWorld

本系列文章环境及学习门槛 编程基础&#xff1a;无年龄&#xff1a;具有一定的逻辑思维英文&#xff1a;不要求数学&#xff1a;不要求学习时长&#xff1a;每天一篇&#xff0c;一周4-5篇即可&#xff0c;每篇最多1小时死记硬背&#xff1a;不需要&#xff0c;理解至上本机环…

为什么云服务器没西南的_去年“双11“我买的那台云服务器

一、为什么会买云服务器为什么初学者需要一台云服务器&#xff1f;从我自己那仅有的一点经验来看&#xff0c;重点无非这一个词&#xff1a;实践。细数一下初学者拥有一台云服务器的好处&#xff1a;学习操作系统、熟悉环境大部分初学者在本地使用的是windows系统&#xff0c;在…