if...else条件分支语句
在PHP中,我们利用if...else条件分支语句,用于根据不同条件实行不同动作。在我们编写代码时,常常须要为不同的判断实行不同的动作。那么这时候if...else条件分支语句就很好的帮我们办理了这个问题。
在PHP中,供应了下列条件分支语句:

if条件单路分支语句
if条件单路分支语句用于单条件判断的环境,仅当指定条件成立时实行代码。
例:
<?php//获取本日的日期$day = date('d');//判断是否是奇数,如果是,则输出if( $day % 2 != 0 ) { echo "本日是{$day}号,是奇数天";}
运行结果:
把稳:if后面的条件必须用小括号()括起来,大括号{}则要将实行代码括起来。这是PHP中规定的语法格式。如果不遵守,则代码就会报错,无法正常运行。
if...else条件双路分支语句
相较于单if条件单路分支语句,多了一个当条件不成立时的实行块。
例:
<?php//获取昨天的日期$day = date('d',strtotime("-1 day"));//判断是否是奇数,如果是,则输出奇数天;如果不是则输出,偶数天if($day % 2 != 0) { echo "昨天是{$day}号,是奇数天";}else{ echo "昨天是{$day}号,是偶数天";}
运行结果:
if...elseif ... else多条件多路分支语句
在我们遭遇到须要同时对多个条件进行判断与实行时,我们就须要利用if...elseif...else多条件多路分支语句。
例:
<?php//获取当前的韶光分钟数$minute = date('i');echo $minute."\n";if( $minute <= 10 ) { echo "当前时分是".$minute.",小于即是10.";}elseif( 10 < $minute && $minute <= 20 ) { echo "当前时分是".$minute.",小于即是20,大于10.";}elseif( 20 < $minute && $minute <= 30 ) { echo "当前时分是".$minute.",小于即是30,大于20.";}elseif( 30 < $minute && $minute <= 50 ) { echo "当前时分是".$minute.",小于即是50,大于30.";}else{ echo "当前时分是".$minute.",小于即是60,大于50.";}
运行结果:
把稳:我们个中的elseif是可以根据须要判断条件的多少,来相应的增加的。理论上如果有100个条件须要我们判断,那撤除首尾的if和else,我们中间可以插入98个elseif,用来判断和实行相应的代码。不过在实际开拓中,我们并不认可通过这种办法来编写我们的代码,这样会让我们的代码变得很臃肿且不易阅读和掩护。
小tips:
elseif 和 else if 一样的。无需纠结该写成哪个样。
switch多路分支语句
上面我们讲完了if条件分支语句干系的知识点,接下来讲讲switch多路分支语句。实在,switch 多路语句也用于根据多个不同条件实行不同动作。你可以理解为是if...elseif...else多条件多路分支语句的简化版本。
例:
<?php//获取当前的韶光分钟数$minute = date('i');echo$minute."\n";switch ( $minute ) { case $minute <= 10: echo "当前时分是".$minute.",小于即是10."; break; case 10 < $minute && $minute <= 20: echo "当前时分是".$minute.",小于即是20,大于10."; break; case 20 < $minute && $minute <= 30: echo "当前时分是".$minute.",小于即是30,大于20."; break; case 30 < $minute && $minute <= 50: echo "当前时分是".$minute.",小于即是50,大于30."; break; default: echo "当前时分是".$minute.",小于即是60,大于50."; break;}
运行结果:
事情事理:首先对一个大略的表达式 n(常日是变量)进行一次打算。将表达式的值与构造中每个 case 的值进行比较。如果存在匹配,则实行与 case 关联的代码。代码实行后,利用 break 来阻挡代码跳入下一个 case 中连续实行。default 语句用于不存在匹配(即没有 case 为真)时实行。
Match表达式(PHP8新特性)实在便是switch表达式的简化版本
例:
<?php$n = 8;//php7switch( $n ) { case '8': $result = "这是switch表达式输出的字符串8!"; echo $result; break; case8: $result = "这是switch表达式输出的整型8"; echo $result; break;}//php8echomatch( $n ){ '8' => "这是match表达式输出的字符串8!", 8 => "这是match表达式输出的整型8",};
运行结果:
把稳:根据以上运行结果,我们可以看出,在switch表达式中,它的条件匹配是疏松比较,而在match表达式中则是严格比较。如果大家还不知道什么是疏松比较和严格比较,可以看看我们上一节的内容,上面有做详细先容。
总结:在本节中,我们大量利用到PHP运算符干系的知识点,如果同学们在看本节内容时有些不易理解,我建议同学们好好看看上一节有关PHP运算符和运算符优先级的干系知识。只有理解透彻运算符干系知识点,在看本节代码示例时,才不会云里雾里。