当前位置: 首页 > php>阅读正文

php条件判断语句if…else、swtich…case

2021.9.7 朱丰华 1458 次 留下评论 1561字

php的if…else语句,是最常用的条件控制语句之一,相对比其他语言,它能嵌套html使用。

if语句

if (条件) {
  当条件为 true 时执行的代码;
}

简单的例子:

<?php 
    $money = 10;
    if($money>=10){
        echo '我有10元';
    }
?>

替换语法

熟悉python的,会习惯于这样:

<?php 
    $money = 10;
    if($money>=10):
        echo '我有10元';
        endif;
?>

替换语法中,可以使用:表示小括号,在结束时,使用 endif; 表示语句结束。

交替html

在方法体中,交替html,是php控制语句一大特性(php中所有地方都能使用,并不仅限于if)

<?php 
    $money = 10;
    if($money>=10){
?>
       <div><b>我有10元</b></div>
<?php
    }
?>

交替html时,{ 或 : 后立刻终止php,然后配合html,接着再加上php写上if终止符号。

当然,你可以更灵活的发挥,这里并不赘述。

if…else语句

if (条件) {
  条件为 true 时执行的代码;
} else {
  条件为 false 时执行的代码;
}

如果当前时间 (HOUR) 小于 20,下例将输出 “Have a good day!”,否则输出 “Have a good night!”:

<?php
$t=date("H");

if ($t<"20") {
  echo "Have a good day!";
} else {
  echo "Have a good night!";
}
?>

if…elseif…else语句

在php中,elseif 可以写成 else if,但在替换语法中只能使用 elseif

if (条件) {
  条件为 true 时执行的代码;
} elseif (condition) {
  条件为 true 时执行的代码;
} else {
  条件为 false 时执行的代码;
}

如果当前时间 (HOUR) 小于 10,下例将输出 “Have a good morning!”,如果当前时间小于 20,则输出 “Have a good day!”。否则将输出 “Have a good night!”:

<?php
$t=date("H");

if ($t<"10") {
  echo "Have a good morning!";
} elseif ($t<"20") {
  echo "Have a good day!";
} else {
  echo "Have a good night!";
}
?>

switch…case语句,适合做等值判断的分支语句。

switch…case语句

 switch (n)
 {
 case label1:
 如果 n=label1,此处代码将执行;
 break;
 case label2:
 如果 n=label2,此处代码将执行;
 break;
 default:
 如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
 } 

switch()括号中的n,表示要判断的值,而case后的值表示可能匹配的值,

如果case匹配,那么会执行case后的语句,若没有遇到break,则继续执行下一个case中的内容,若遇到break或走完最后一个case语句体,switch语句终止。

如果没有任何匹配的case值,那么执行default中的语句。

实例

case语句体中的内容,可以使用{ 和 } 包裹起来,也可以不使用

<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
    echo "Your favorite color is red!";
    break;
case "blue":
    echo "Your favorite color is blue!";
    break;
case "green":
    echo "Your favorite color is green!";
    break;
default:
    echo "Your favorite color is neither red, blue, or green!";
}
?>

本篇完,还有疑问?留下评论吧

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注