几种有用的变型 PHP中循环语句的用法介绍

PHP手册中对它的语法定义如下:
  for (expr1; expr2; expr3)
  statement
  下面说说for语句几种有用的变型。
  1、无限循环
  首先是人尽皆知的无限循环(亦可称"死循环")。由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果。
  for (;;) {
  //放置需要不断执行的语句
  }
  ?>
  虽然有一些任务会使用到无限循环,但是大多数程序任务,特别是PHP所能涉及的领域,在使用无限循环时都会添加一些终止循环的条件。
  for (;;) {
  //如果是公元2199年,则跳出循环
  if (date('Y') == '2199') {
  break;
  }
  }
  ?>
  2、使用空表达式
  接下来就是说说在初始化语句expr1中使用null语法,留空expr1最常见的作用就是完成更为复杂的初始化工作。


代码如下:

  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 = 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循环语句就是一个典型的例子。

(0)

相关推荐

  • PHP数组循环操作详细介绍 附实例代码

    PHP数组还是比较常用的,于是我研究了一下PHP数组循环操作,在这里拿出来和大家分享一下,希望对大家有用.PHP基本上就是一种数组语言.时常要进行大量的PHP数组循环操作,主要有两种方式,一种是foreach,另一种是while,到底哪种好哪种坏一直有争论,虽然我很早就意识到了这个问题,但是一直没有细究,懵懂的感觉一直持续到现在,为了以后能节省点CPU时间,下面总结一下: 在循环里进行的是数组"读"操作,则foreach比while快,PHP数组循环操作无格式查看复制到剪贴板打印代码?

  • PHP 循环列出目录内容的函数代码

    复制代码 代码如下: function list_files($dir) { if(is_dir($dir)) { if($handle = opendir($dir)) { while(($file = readdir($handle)) !== false) { if($file != "." && $file != ".." && $file != "Thumbs.db") { echo '<a tar

  • PHP中foreach循环中使用引用要注意的地方

    复制代码 代码如下: foreach ($array as &$row) { $row = explode('/', $row); } foreach ($array as $row) { //do something } 这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个 要这么写 复制代码 代码如下: foreach ($array as &$row) { $row = explod

  • php for 循环语句使用方法详细说明

    for循环只是一个多一点的代码,同时循环添加到它.而所涉及的一个循环的共同任务是: 设置一些计数器变量的初始值. 请检查条件语句是正确的. 执行中的代码循环. 增量在每个迭代结束通过循环计数器. for循环允许你定义一个简单的代码行这些步骤.它似乎有一种奇怪的形式,所以一定要密切注意语法用! for 循环的语法是: for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次. expr2 在每次循环开始前求值.如果值为 TRUE,

  • php循环语句 for()与foreach()用法区别介绍

    for 循环是 PHP 中最复杂的循环结构.它的行为和 C 语言的相似. for 循环的语法是: for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次. expr2 在每次循环开始前求值.如果值为 TRUE,则继续循环,执行嵌套的循环语句.如果值为 FALSE,则终止循环. expr3 在每次循环之后被求值(执行). 每个表达式都可以为空.expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE).这

  • php学习之 循环结构实现代码

    复制代码 代码如下: <?php /* 循环结构 * 一.while循环 * while(表达式) * { * 循环体;//反复执行,直到表达式为假 * } * 二.do-while循环 * 三.for循环 * * 根据循环条件不同,有两种类型的循环 * * 一种:计数循环 (一般使用for) * 另一种:条件型循环 (一般使用 while do-while) * * * */ //while的使用 /*$num=0; while($num<100) { echo "输出结果{$nu

  • PHP foreach循环使用详解与实例代码

    foreach基本语法如下: FOREACH ($array_variable as $value) { [code to execute] } or FOREACH ($array_variable as $key => $value) { [code to execute] } 在这两种情况下,多次[代码执行]将被处死是等于在$ array_variable数组元素的个数. 让我们来看一个例子.假设我们有下面的代码段: 复制代码 代码如下: $array1 = array(1,2,3,4,5

  • PHP数组及条件,循环语句学习

    1. 数组 实例1: 1).效果图预览: 2).代码截图: 以下是一个二维数组, 实际用的比较多. $mess = array('title'=>'留言标题1','content'=>'内容','ctime'=>'2012-1-1 12:34:23'); //关联数组 //遍历数组的语句 //第一种foreach($mess as $v){   //foreach可以遍历关联数组; 而for循环只能遍历枚举数组, 不能遍历关联数组.   //$v是接收数组元素的值, 循环体循环次数由数组

  • 关于php循环跳出的问题

    复制代码 代码如下: //php当前循环为1,循环由里到外依次递增,break默认为1,例如跳出第2层循环for ($i=0;$i<3;$i++){    foreach (array(1,2,3) as $val){             foreach (array(1,2,3) as $val){                      echo "1层循环<br/>";              break 2;  //跳出第2层循环           

  • 几种有用的变型 PHP中循环语句的用法介绍

    PHP手册中对它的语法定义如下: for (expr1; expr2; expr3) statement 下面说说for语句几种有用的变型. 1.无限循环 首先是人尽皆知的无限循环(亦可称"死循环").由于空表达式null在语法上是有效的,所以我们可以把for语句的三个表达式留空,这样就会产生不断执行for嵌套语句的效果. for (;;) { //放置需要不断执行的语句 } ?> 虽然有一些任务会使用到无限循环,但是大多数程序任务,特别是PHP所能涉及的领域,在使用无限循环时都

  • python中循环语句while用法实例

    本文实例讲述了python中循环语句while用法.分享给大家供大家参考.具体分析如下: 对于python的while语句,注意其缩进即可. python和其他语言一样也有break和continue,分别用来表示跳出循环和继续循环. #!/usr/bin/python # Simple while loop a = 0 while a < 15: print a, # 在print a后面加,不换行 if a == 10: print "made it to ten!!" a

  • Go语言中循环Loop的用法介绍

    Go语言和其他语言不一样,它只有一种循环方式,就是for语句 可以参考如下公式: for initialisation; condition; post{ //Do Something } 执行顺序 a.执行一次initialisation,初始化 b.判断condition c.条件为true,执行{}内的语句 d.语句执行之后执行post 使用方式举例: 1.基本使用类似其他语言的for func ForTest1(){ for i:=1;i<=10;i++{ fmt.Printf("

  • Java中for、while、do while三种循环语句的区别介绍

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; fo

  • C#中循环语句:while、for、foreach的使用

    循环结构可以实现一个程序模块的重复执行,它对于我们简化程序,更好地组织算法有着重要的意义.C#为我们提供了若干种循环语句,分别适用于不同的情形,下面依次介绍. C#中循环语句:while.for.foreach 1.while循环 static void Main(string[] args) { int[] hs = { 1,2,3,4,5,6,7,8,9}; int ligh = hs.Length; while (ligh > 0) { Console.WriteLine(hs[ligh

  • Go语言中循环语句使用的示例详解

    目录 一.概述 1. 循环控制语句 2. 无限循环 二.Go 语言 for 循环 1. 语法 2. for语句执行过程 3. 示例 4. For-each range 循环 三.循环嵌套 1. 语法 2. 示例 四.break 语句 1. 语法 2. 示例 五. continue 语句 1. 语法 2. 示例 六.goto 语句 1. 语法 2. 示例 一.概述 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 循环程序的流程图: Go 语言提供了以下几种类型循环

  • Swift中循环语句中的转移语句 break 和 continue

    下面通过实例代码给大家介绍了Swift中循环语句中的转移语句 break 和 continue,具体代码如下所示: /** 循环语句中的转移语句 break 和 continue */ let array:Array = [3, 4, 5, 6, 7, 8, 9] for k in array { if k == 5 { print(k) break } } print("--------->") for k in array { if k == 5 { // 结束本次循环,进入

  • Java语言----三种循环语句的区别介绍

    第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体;   } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; for (int i = 1;i<=10 ; i++ ) { if (i%2 ==0) { //判断语句

  • C语言中循环语句练习实例

    计算n的阶乘 int main() { int i=0; int ret=1; scanf("%d",&i); for(i=1;i<=n;i++) { ret=ret*i; } printf("%d\n",ret); return 0; } 计算1!+2!+3!+.....+10! int main() {计算1!+2!+3!+.....+10! int i = 0; int j = 0; int sum = 0; int ret = 1; for (

  • Vue中判断语句与循环语句基础用法及v-if和v-for的注意事项详解

    目录 一.判断语句 v-if.v-else.v-else-if v-show 案例 二.循环语句 遍历数组 遍历对象 三.v-if和v-for的注意事项 总结 一.判断语句 v-if.v-else.v-else-if v-if是判断是否将DOM元素显示出来 不满足条件的元素,会直接删除,不会存在浏览器上面 v-show 也是用来判断,是否将DOM元素在页面上显示,但是与v-if有着区别,它的不显示是通过display:none;实现的,还是存在浏览上. <div id="app"

随机推荐