php循环与跳出

2014年1月22日 发表评论 阅读评论

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及以上的版本中停止支持,所以这里就不再介绍。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: perl/php/python/gawk/sed 标签:
  1. 本文目前尚无任何评论.
  1. 2014年2月10日15:55 | #1