for 循环的语法是:

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

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

1、无限循环

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

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

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

代码如下 复制代码

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

2、使用空表达式

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

代码如下 复制代码

<?php
if (isset($i)) {unset($i);if ((int) date('') < 2008) {$i = 0;} else {$i = 1;}
} else {$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 = 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 <= 10; $i++ ){
for($j = 1;$j <= 10;$j++){
$m = $i * $i + $j * $j;
echo”$m n<br/>”;
if($m < 90 || $m > 190) {
break 2;
}
}
}

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

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

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
for($i = 1;$i <= 100; $i++ ){
if($i % 3 == 0 || $i % 7 == 0){
continue;
}
}else{
echo”$i n<br/>”;
}
}
?>

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

注:

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

更多详细内容请查看:http://www.111cn.net/phper/php/42347.htm

转载于:https://www.cnblogs.com/phpfans2012/archive/2012/04/10/2439970.html

php for循环语句的几种用法分析相关推荐

  1. PHP中for循环设计无穷循环,PHP中for循环语句的几种“变态”用法

    PHP中for循环语句的几种"变态"用法 for语句可以说是PHP(同时也是多种语言)的循环控制部份最基本的一个语句了,for语句的执行规律和基础用法在这里就不多说,可以参见PHP ...

  2. php中用for循环制作矩形,PHP中for循环语句的几种变型

    PHP中for循环语句的几种变型 2021-01-22 10:21:42406 for语句可以说是PHP(同时也是多种语言)的循环控制部份最基本的一个语句了,for语句的执行规律和基础用法在这里就不多 ...

  3. mysql中insert语句的五种用法

    文章目录 前言 一.values参数后单行插入 二.values参数后多行插入 三.搭配select插入数据 四.复制旧表的信息到新表 五.搭配set插入数据 总结 前言 insert语句是标准sql ...

  4. python里else中文意思_Python循环语句中else的用法总结

    前言 本文讨论Python的for-else和while-else等语法,这些是Python中最不常用.最为误解的语法特性之一. Python中的for.while等循环都有一个可选的else分支(类 ...

  5. php中循环语句有几种

    循环语句有四种.分别是:1.for循环,语法"for(初始值;条件;增加值){循环体}":2.dowhile循环,语法"do{循环体}while(条件)":3. ...

  6. vb Do循环语句的几种形式

    Do循环语句的几种形式:1. Do While i>1 '条件为True时执行... ... '要执行的语句Loop2.Do Until i>1 '条件为False时执行... ... ' ...

  7. Shell脚本中循环语句for,while,until用法

    循环语句: BashShell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区域 ...

  8. python中until的用法_Shell脚本中循环语句for,while,until用法

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...

  9. python中else的用法_Python循环语句中else的用法总结

    如何正确的理解python for循环中的else用法 程序中的else语句是便于处理某种行为,在循环的正常终止时执行:即以return或者break方式退出循环将会忽略else语句:存在contin ...

最新文章

  1. 用百度siteapp的uaredirect.js判断用户访问端而进行域名的自动跳转
  2. oracle10G导入导出数据文件
  3. boost::allocate_shared_noinit相关的测试程序
  4. zookeeper 3.4.6安装
  5. python3.7.2版本怎么安装ipython_Linux升级安装python2.7版本至python3.6版本,系统centos7...
  6. makemid+matlab,《MATLAB基础》双语课
  7. SkyCaiji蓝天数据采集发布系统源码v2.3
  8. java同步方法同步块_java使用同步方法和同步块的区别
  9. Codeforces 739B Alyona and a tree (树上路径倍增及差分)
  10. (转)Struts2的标签库
  11. JavaScript浏览器对象模型常用事件(2)
  12. 从网卡发送数据再谈TCP/IP协议—网络传输速度计算-网卡构造
  13. OneNote插件Notehighlight个性化设置
  14. 生信学习笔记:利用GATK call SNP
  15. CTO说出了我的成长慢的原因,价值10万:“在VUCA时代,必须掌握的12种永久技能。”...
  16. 3373. 进制转换(高精度除法)
  17. [转] 大三下,我们该做什么?
  18. 实现一个小程序分享图 wxml2canvas
  19. 曲率发动机和反重力装置原理
  20. windows CE 4.2、5.0、6.0下载地址

热门文章

  1. pytorch 模型加权
  2. 图片转文字用什么软件?分享几个文字识别软件
  3. R语言——多重共线性处理
  4. 付款条件Payment Terms
  5. 微信小程序应用”腾讯位置服务路线规划“插件
  6. win10 使用 toolkit 2.6.4 版,激活office2016 失败
  7. java对接顺丰(丰桥)查询物流接口
  8. html css留言板特效,JS模拟留言板 部分动画效果使用了 animate.css
  9. u盘安装linux后grub,U盘安装Centos 6.3 DVD,进入Grub后,出现问题
  10. POI导出excel执行公式 公式不生效问题