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