PHP决策语句

时间:2020-02-23 14:42:00  来源:igfitidea点击:

在本教程中,我们将学习有关PHP决策的语句,即if,else,elseif和switch。

与大多数其他编程语言一样,PHP使我们可以编写条件语句,以帮助制定决策。

if 语句

首先,最简单的决策语句是if语句。

if ( expression ) {
  //some code
}

//some more code goes here...

在上面的代码片段中,我们创建了一个if语句。
仅当表达式求值为true时,才会执行if块内的代码。
否则将被忽略。

$x = 10;

if ( $x > 0 ) {
  echo "x is greater than 0.";
}

echo " Value of x = " . $x;

在上面的代码中,变量$x的值为10,大于0,因此,执行了if语句中的代码。

上面的代码将打印" x大于0。
x的值= 10"。

$x = 10;

if ( $x < 0 ) {
  echo "x is less than 0.";
}

echo " Value of x = " . $x;

在上面的代码$x中,不少于0的代码不执行if语句中的代码。

上面的代码将打印" x的值= 10"。

如果...否则声明

当寻找非此即彼的选择时,即if ... else语句,我们选择了两条路径。

if ( expression ) {
  //code inside if block
} else {
  //code inside else block
}

//some more code goes here...

我们在上面的代码片段中创建了一个if ... else语句。
如果if语句的表达式为true,则将执行if块中的代码。
否则,将执行else块中的代码。

$x = 10;

if ( $x == 10 ) {
  echo "x is 10";
} else {
  echo "x is not 10";
}

echo "value of x = " . $x;

上面的代码将打印" x为10"和" x的值= 10"。

$x = 5;

if ( $x == 10 ) {
  echo "x is 10";
} else {
  echo "x is not 10";
}

echo "value of x = " . $x;

上面的代码将打印" x不是10"和" x的值= 10"。

elseif语句

如果我们想从多个选项中选择,那么我们使用elseif语句。

if ( expression1 ) {
  //code inside if block
} elseif ( expression2 ) {
  //code inside 1st elseif block
} else {
  //code inside else block
}

//some more code goes here...

在上面的代码中,我们创建了一个elseif语句以具有两个以上的选项。
因此,当我们运行上面的代码时,首先将评估if的表达式,如果它等于true,则将执行if块中的代码。

如果失败,则将评估" elseif"的expression2。
如果为true,则将执行1st elseif块中的代码。

如果第一个elseif失败,则将执行else块中的代码。

$x = 10;

if ( $x < 0 ) {
  echo "x is negative.";
} elseif ( $x == 0 ) {
  echo "x is equal to 0";
} else {
  echo "x is positive";
}

echo " value of x = " . $x;

上面的代码将打印" x为正"和" x的值= 10"。

switch语句

我们使用switch语句将给定的表达式与几个不同的值进行匹配。

switch ( expression ) {
  
  case 'value1' :
    //some code for value 1
    break;

  case 'value2' :
    //some code for value 2
    break;

  default:
    //some code for default
}

在上面的代码片段中,我们创建了一个switch语句。
表达式与值匹配。
假设例如表达式与value2匹配,则将执行该case块的代码。
如果找不到匹配项,则将执行"默认"块中的代码。

default块是可选的。
我们使用break关键字来显示切换块。

$x = 10;

switch ( $x ) {
  
  case 1:
    echo "x is 1";
    break;

  case 5:
    echo "x is 5";
    break;

  case 10:
    echo "x is 10";
    break;

  default:
    echo "x is something else";

}

echo " value of x = " . $x;

上面的代码将打印" x is 10"和" x value = 10";

上面的代码流程。

我们将变量x的值设置为10。
接下来,我们将x作为表达式传递给switch块。
因此,x的值(即10)与三种情况的值匹配。
首先,表达式10与值1匹配,但是失败。
因此,10与值5匹配,它也失败。
接下来,将10与第三种情况的值10匹配,并发现它们相等。
因此,执行第三种情况的代码,然后我们跳出switch块。
然后执行最后一行。

匹配switch语句的多个大小写值

在下面的示例中,表达式与多个" case"值匹配。

switch ( expression ) {
  
  case 'value1' :
  case 'value2' :
  case 'value3'
    //some code1
    break;

  case 'value4':
  case 'value5':
    //some code2

  default:
    //some code for default
}

在上面的代码中,表达式首先与value1,value2和value3匹配。
如果它们中的任何一个等于表达式,则执行code1,我们跳出switch块。

否则,我们将表达式与value4和value5匹配。
如果找到匹配项,则将执行code2,我们将退出switch块。

如果没有大小写匹配,则执行"默认"代码块。