首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php基础教程 第八步循环补充

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

作者头像
1_bit
发布2020-10-23 14:40:30
1.8K0
发布2020-10-23 14:40:30
举报
文章被收录于专栏:我的知识小屋我的知识小屋

其它循环

上一节内容中,讲解了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变量并没有进行增减,一直都是初始化时的值,为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 是键

在这里插入图片描述
在这里插入图片描述

在键值对的数组中,也可以不设置键值对关系。例如示例:

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

以上数组中并不完全是设置的键值对。运行结果如下:

在这里插入图片描述
在这里插入图片描述

自定义键值对后,如果出现未定义键的数组元素,则会从0开始默认分配。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 其它循环
  • While循环
  • do…while 循环
  • foreach 循环
  • foreach循环变量键值对
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档