搜索
首页php教程php手册php for循环语句的几种用法分析

php for循环语句的几种用法分析

Jun 13, 2016 am 10:48 AM
forphp代码几种分析复制循环用法语句语法

for 循环的语法是:

 

 代码如下 复制代码
for (expr1; expr2; expr3)
statement

下面说说for语句几种有用的变型。

1、无限循环

这种也叫死循环,没有开始和结束一直就这样下去


 

for (;;) {
 //放置需要不断执行的语句
}
?>
 


 

死循环如果在当中配合if else ,break也可以跳出循环

 代码如下 复制代码

for (;;) {
 //如果是公元2199年,则跳出循环 http://www.hzhuti.com/nokia/n93/
 if (date('Y') == '2199') {
  break;
 }
}
?>
 


 

2、使用空表达式

  接下来就是说说在初始化语句expr1中使用null语法,留空expr1最常见的作用就是完成更为复杂的初始化工作。

 代码如下 复制代码

if (isset($i)) {
 unset($i);
 if ((int) date('')   $i = 0;
 } else {
  $i = 1;
 }
} else {
 $i =3;
}

for (;$i  echo $i;
}
?>
 


 

  同样道理,迭代表达式expr3也可能留空,也可以利用这点编写更为复杂的迭代式,比如说根据不同的条件调用不同的迭代式。

  而for语句中的条件语句expr2留空则是上面所说的无限循环,当然也可以添加一些更为复杂的条件去判断什么时候跳出循环,在此不在重复。

3、多重循环

  使用多重循环来控制多个变量也是在for语句中使经常被忽略的一个特性。如下面的例子,在一般的任务中用到的一般会是双重循环,三重以上的循环一般意义不大。

for ($i = 0, $j = 10;$i  echo "$i + $j = 10rn";
}
?>
 


 

以上代码将输出:

0 + 10 = 10
1 + 9 = 10
2 + 8 = 10
3 + 7 = 10
4 + 6 = 10
5 + 5 = 10
6 + 4 = 10
7 + 3 = 10
8 + 2 = 10
9 + 1 = 10
10 + 0 = 10

如果我们要半路跳出循环怎么操作,实例

看下面这个多重循环嵌套的例子:

for($i = 1;$i for($j = 1;$j $m = $i * $i + $j * $j;
echo”$m n
”;
if($m 190) {
break 2;
}
}
}
 

break 2跳出了两重循环,你可以试验一眼,将2去掉,得到的结果是完全不一样的。如果不使用参数,跳出的只是本次循环,第一层循环会继续执行下去。

注:
break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。

 

4、更为复杂的表达式

如果把for语句的三个表达式写得复杂一些,则可以用于优化算法。甚至可以使用没有循环体的for语句来完成一些任务。比如计算累加或阶乘:

//计算1-5的累加结果,斌值到$j
for ($i = 1,$j = 0; $i echo $j;

//计算1-5的阶乘结果,斌值到$j
for ($i = 1,$j = 1; $i echo $j;

?>
 


 

如果我想执行到一个地方,自动调出当前循环执行一下-实例

for($i = 1;$i if($i % 3 == 0 || $i % 7 == 0){
continue;
}
}else{
echo”$i n
”;
}
}
?>
 
 

PHP的代码片段的作用是输出100以内,既不能被7整除又不能被3整除的那些自然数,循环中先用if条件语句判断那些能被整除的数,然后执行continue;语句,就直接进入了下个循环。不会执行下面的输出语句了。

注:

continue 是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。

 

摘自  php开发
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能