ホームページ  >  記事  >  バックエンド開発  >  PHP の基本のフロー制御ステートメントに関する簡単なチュートリアル

PHP の基本のフロー制御ステートメントに関する簡単なチュートリアル

伊谢尔伦
伊谢尔伦オリジナル
2017-06-22 09:12:521322ブラウズ

どの PHP スクリプトも一連のステートメントで構成されます。ステートメントは、代入ステートメント、関数呼び出し、ループ、条件ステートメント、または何も行わないステートメント (空のステートメント) の場合もあります。通常、ステートメントはセミコロンで終わります。

実行モードの観点から、ステートメントの制御構造は次の 3 つのタイプに分類されます。

1. シーケンシャル構造: 最初のステートメントから最後のステートメントまで完全にシーケンシャルに実行されます。

2. 選択構造: ユーザー入力またはステートメントの中間結果に基づいて複数のタスクを実行します。

3. に基づいてタスクを複数回実行します。特定の条件、または目標を達成するまで。 PHPには、選択構造とループ構造を実装するための3種類の

制御文

があります:

1. 条件付き制御ステートメント: if 、else、elseif、switch 2. ループ制御ステートメント: foreach、while、do while および for; 3. 転送制御ステートメント: Break、Continue、および return 。

条件制御ステートメント:

If ステートメント、使用法:

If(A)

ステートメント1;

Else

Statement2;

分析: A が true の場合は、statement1 を実行し、それ以外の場合は、statement2 を実行します。

例、コード:

<?php
  $a = 59;  //根据$a的值,判断是否及格。如果>=60则输出及格
  if($a>=60){
  echo “及格”;
   }else
  echo “不及格”;
?>

If....elseif....elseステートメント、使用法:

If(A)

   Statement1; 

Elseif(B)

   Statement2; 

Else

 Statement3; 

解析:如果A为TRUE,则执行statement1。否则,如果B的值为TRUE,则statement2;否则执行statement3。当然:if语句也可以嵌套。 

下面是个If···elseif···else的例子:

<?php
  $a = 59;
  if($a>=60)        //在大于等于60的情况里在进行分类
 {
  if($a==100)
  echo “满分”;
  elseif($a>=90)
  echo “优秀”;
 else
  echo “及格”;
 }
 else
  echo “不及格”;
?>

Switch语句,语法如下: 

Switch(A)

{

 Case val1:

  Statement1;

  Break;

 Case val2:

  Statement2;

  Break;

 Default:

  Statement3;

 } 

当一个case语句中的值和switch表达式A的值匹配时,PHP开始执行语句,直到switch程序段结束或者遇到第一个break语句为止

(如果没有遇到break,则PHP将继续执行下一个case)。 

下面是一个没有break的例子:

<?php
  switch($leve1)
 {
  case 3:
   echo “高级”;
  case 2:
       echo “中级”;
     case 1:
    echo “初级”;
  default:
    echo “错误的等级值”;
 }
?>

由此你想到了什么?? 

<?php
  $level = 3;
  switch($level)
 {
  case 3:
   echo “赋予管理员权限”;
  case 2:
    echo “赋予站务权限”;
  case 1:
     echo “赋予版主权限”;
  default:
   echo “赋予普通用户权限”;
 }
?>

与if相比switch达到了更高的效率:

<?php
  $a = 59;
 switch($a)
  {
 case $a == 100;
  echo “满分”;
  break;
 case $a >= 90;
  echo “优秀”;
  break;
 case $a >= 60;
  echo “及格”;
  break;
 default:
  echo “不及格”;
 }
?>

那么循环语句是干嘛用的呢?当然是用于反复地执行某一个操作。 

While 与do···while 

While的语法: 

 While(A)

 Statement; 

解析:只要while表达式中的A为TRUE,就执行statement。

do···while的语法:

 do

 {

  Statements;

 }

 while(A) 

 do···while与while的区别只是在循环结束时do···while进行检查,不管循环的条件满足与否,do···while都将执行一次。

 例如:

<?php
  $a = 5;          //先判断$a是否大于5,如果大于5则执行。
  while($a>5)
 {
  echo “This is  while.”;
  $a–;
 }
 do               //先执行do之内的语句,然后进行判断。
 {
  echo “This is do…while.”;
  $a–;
 }
 while($a > 5)
?>

 For语句,语法: 

 For(A;B;C)

  Statement; 

分析:第一个表达式在循环开始时先无条件的执行一次,一般A都为赋值语句;B在循环开始前运行,如果为TRUE,

      则继续循环,执行循环的嵌套语句;C在循环之后执行,一般都是自加自减运算。

代码:

 <?php
  for($a = 5;$a > 5;$a–);
  echo “This is for”;
 ?>

Foreach语句,用于数组的遍历,以后将会学到。 

 转移控制语句 

PHP中主要有三种转移控制语句:break、continue和return。 

1、  break语句

break语句用于结束当前循环,break可以接受一个可选的数字参数来决定跳出几重循环。

例子: 

<?php
  $a = 5;
  $b = 10;
 while($a <100)   //$a<100开始循环
 {
  echo “a = “.$a.”<BR>”;  //输出$a,“.”时连接运算符,相当于java中的“+”
 while($b > 0)           //$b>0,开始循环
 {
  echo “b = ” .$b.”<BR>”;  //输出$b
  $b–;
  if($b == 3 )                 //如果$b==3,则跳出while($b>0)
  break;              
 }
  $a++;
  if($a == 30)
  break;           //如果$a==30,就跳出while($a<100)
 }
 ?>

Continue语句

Continue用于跳出本次循环,与break不同的是,continue跳出后将继续执行下一次循环。 

Return语句 Return语句用于结束一个函数或者一个脚本文件。如果在一个函数中调用return语句将立即结束这个函数的执行,并将它的值作为参数返回。 

当然,在PHP中也可以将return当做一个函数来使用。如return(),并在括号内写上要返回的参数。这种用法并不常见。

以上がPHP の基本のフロー制御ステートメントに関する簡単なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。