欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【关于PHP中for循环语句的几种变型】,下面是详细的分享!
关于PHP中for循环语句的几种变型
for语句可以说是PHP(同时也是多种语言)的循环控制部份最基本的一个语句了,for语句的执行规律和基础用法在这里就不多说,可以参见PHP手册for语句部分。PHP手册中对它的语法定义如下: for (expr1; expr2; expr3)
statement
下面说说for语句几种有用的变型。
1、无限循环
首先是人尽皆知的无限循环(亦可称“死循环”)。由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果。
|
以下为引用的内容: <?php for (;;) { //放置需要不断执行的语句 > |
虽然有一些任务会使用到无限循环,但是大多数程序任务,特别是PHP所能涉及的领域,在使用无限循环时都会添加一些终止循环的条件。
|
以下为引用的内容: <?php for (;;) { //如果是公元2199年,则跳出循环 ?> |
2、使用空表达式
接下来就是说说在初始化语句expr1中使用null语法,留空expr1最常见的作用就是完成更为复杂的初始化工作。
|
以下为引用的内容: <?php if (isset($i)) { unset($i); $i=3; for (;$i < 10;$i++) { echo $i; ?> |
同样道理,迭代表达式expr3也可能留空,也可以利用这点编写更为复杂的迭代式,比如说根据不同的条件调用不同的迭代式。
而for语句中的条件语句expr2留空则是上面所说的无限循环,当然也可以添加一些更为复杂的条件去判断什么时候跳出循环,在此不在重复。
3、多重循环
使用多重循环来控制多个变量也是在for语句中使经常被忽略的一个特性。如下面的例子,在一般的任务中用到的一般会是双重循环,三重以上的循环一般意义不大。
|
以下为引用的内容: <?php for ($i=0, $j=10;$i <=10;$i++, $j--) { echo "$i + $j=10\r\n"; ?> |
以上代码将输出:
|
以下为引用的内容: 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 |
4、更为复杂的表达式
如果把for语句的三个表达式写得复杂一些,则可以用于优化算法。甚至可以使用没有循环体的for语句来完成一些任务。比如计算累加或阶乘:
|
以下为引用的内容: <?php //计算1-5的累加结果,斌值到$j for ($i=1,$j=0; $i <=5;$j +=$i++); echo $j; //计算1-5的阶乘结果,斌值到$j for ($i=1,$j=1; $i <=5;$j *=$i++); echo $j; ?> |
PHP借助了C语言的语法,一定程度上也会拥有C的特性,比如说强大的for循环语句就是一个典型的例子。
以上所分享的是关于关于PHP中for循环语句的几种变型,下面是编辑为你推荐的有价值的用户互动:
相关问题:关于php 中的for循环
答:哈哈, 我刚测试了下, 原因是 , if($i=5 && $j=5){ 这句语句中是这样赋值的 $i = (5 && $j = 5) ,你可以在 continue前输出下 i和j变量,$i 其实已经被赋值成了 一个逻辑值,就是 5 && true 这个值,是true, 逻辑true 输出会被输出 1, 所以 $... >>详细
相关问题:PHP中for循环语句,break跳出在大括号里面和外面结...
答:break 后面加数字,是指跳出循环的层数如:for($i = 0;$i < 10; $i++){ for($j = 0;$j < 10;$j++){ break 2 ;//直接跳出2层循环 break 1;则只跳出一层循环,外层循环继续执行 } echo $i;//不会执行,因为在内层循环中直接跳出了}这个代码和上面... >>详细
相关问题:怎么写php的for循环语句?
答://你得确保 有$row1 - $row8这些for($i=1; $i >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
