php下的循环主要有四个,分别为for 循环、while循环、do {} ……while 循环、foreach循环 。这里主要提到的是前三种循环,foreach放到数组篇里再做总结。而涉及到跳出的语句有break continue goto return exit die几种。
一、循环部分
1、for循环
语法结构:
for (initialization; condition; increment) { code to be executed; }
注:for 语句有三个参数。第一个参数初始化变量,第二个参数保存条件,第三个参数包含执行循环所需的增量。如果 initialization 或 increment 参数中包括了多个变量,需要用逗号进行分隔。而条件必须计算为 true 或者 false。
示例:
<html> <body> <?php for ($i=1; $i<=5; $i++) { echo "Hello World!<br />"; } ?> </body> </html>
2、while循环
语法:
while (condition) code to be executed;
示例:
<html> <body> <?php $i=1; while($i<=5) { echo "The number is " . $i . "<br />"; $i++; } ?> </body> </html>
三、do……while循环
语法:
do { code to be executed; } while (condition);
注:do…while 语句会至少执行一次代码 – 然后,只要条件成立,就会重复进行循环。这是和while循环的区别,while是要先判断条件,再决定是否要进行下一步的操作。
示例:
<html> <body> <?php $i=0; do { $i++; echo "The number is " . $i . "<br />"; } while ($i<5); ?> </body> </html>
二、跳出部门
1、break (int); 语句
break的作用为退出循环体,当break后面加上数字时,表示退出第几层的循环。
多用在while、do…while、for、foreach、switch语句中。
示例:
例1: <?php /** * break 退出循环 */ $i = 1; while(true){ echo “PHP视频教程”.$i; $i++; if($i==10){ break; } }//当循环语句的$i数字自增到10时就执行break语句,直接跳出了while的循环体。 ?>
例2: <?php /** * break 退出循环的例子 */ while($i++<10){ echo '$i='.$i; while($j++<5){ if($j==2){ break 2;//跳出两层循环代码的执行。 } echo ' $j='.$j; } echo '‘; } } ?>
例3: <?php for($i=1;$i<=10;$i++){ for($j=1;$j<=10;$j++){ $m=$i * $i + $j * $j; echo $m,"361way!"; if($m<90||$m>190) { break 2; } } } ?>
上例中不难不看出,当for、while有多层嵌套使用时,就需要用到break int 跳出多层循环。
2、continue (int); 语句
continue语句和break语句执行结果相似,continue是跳过几层循环,忽略跳循环体里的代码段,直接执行到循环体结尾进行下一次的循环,和break语句一样也可以使用在
while、do…while、for、foreach、switch语句中。
示例:
例1: <?php /** * 跳过循环 continue */ while($i++<5){ if(++$j==2){ continue; } echo '$i='.$i.'‘; } ?> 例2: <?php while(++$a<3){ while(++$b<4){ if($b==2){ continue 2; } echo ' $b:'.$b; } $b=0; echo '$a:'.$a; echo ' ‘; }
break与continue的区别:break是退出循环体执行,而continue是 跳过某层符合判断条件语句 的 循环体 的执行,转到 某层循环 继续执行循环体,直到循环条件 不成立 才结束循环语句。
3、die和exit
die是exit()函数的别名,两者用法一样。为die(status)
示例:
<?php $site = "http://www.361way.com/"; fopen($site,"r") or die("Unable to connect to $site"); ?>
使用exit时也一样:
for($i=1000;$i>=1;$i--){ if(sqrt($i)>=29){ echo $i,"hi,361way!"; }else{ exit; } }
4、return
如果在一个函数中调用 return 语句,将立即结束此函数的执行并将它的参数作为函数的值返回。 return 也会终止 eval() 语句或者脚本文件的执行
示例:
<?php return array ( 'default' => array ( 'hostname' => 'localhost', 'database' => 'phpcmsv9201', 'username' => 'root', 'password' => '', 'tablepre' => 'v9_', 'charset' => 'gbk', 'type' => 'mysql', 'debug' => true, 'pconnect' => 0, 'autoconnect' => 0 ), );
以上phpcms中database.php中的配置部分。可以通过include或require函数调用并将其结果返回。如下:
<?php $cofing = include './database.php'; pinr_r( $config ); //即可打印出结果 ?>
注:除此之外,其还有退出的程序的作用。即:其如果是在主程序中调用,那么主程序将会马上停止执行。如下:
for($i=1000;$i>=1;$i--){ if(sqrt($i)>=29){ echo $i,"hi,361way.com!"; }else{ return; } }
5、goto语句
其实际上是一个运算符,滥用会导致程序的可读性下降,所认其在php5.3及以上的版本中停止支持,所以这里就不再介绍。
《php循环与跳出》有1条评论