网站建设教程【学习PHP】11.更多条件判断与null空集合

条件判断(elseif)

看完了前两节的教学内容,坚信诸位同学们对条件判断拥有基本的掌握,上完这堂课之后,你能学习到怎样用更精减的英语的语法来解决难题,但是大家先用现阶段学习到的ifelse来试着处理下列的难题。

大家先想象一个情景,假如有一个铁路订票系统软件,票种设置为:

没满三岁不用票

三岁之上(含三岁)~未满十八岁半票

18岁以上(含18岁)~没满60岁全票

60岁之上(含60岁)敬老票

那我们可以先写出这样子,

<?php

if($userAge<3){

echo“不用票”;//第一种情况

}else{

if($userAge<18){

echo“半票”;//第二种情况

}else{

if($userAge<60){

echo“全票”;//第三种情况

}else{

echo“敬老票”;//第四种情况

}

}

}

?>

但是这类书写会写许多大括号(别名波动拳书写),还蛮非常容易搞混的,我们可以改变成以下方法:

网站建设教程【学习PHP】11.更多条件判断与null空集合-梦幻科技

编码能够那样改变,并再加变化$userAge=20来检测,

实例:

<?php
$userAge = 20;
if($userAge < 3){
  echo "不用票";
}else if($userAge < 18){
  echo "半票";
}else if($userAge < 60){
  echo "全票";
}else{
  echo "敬老票";
}
?>

输出結果:

全票 

若将年纪改为两岁,$userAge=2

输出結果:

不用票 

空集合(null)

假如有一个系统软件,使用者务必先设置账号才可以创建vip会员,当使用者什么也没有键入时,大家务必要提示告知使用者务必键入內容才可以进到下一个流程。这类情况我们可以用条件判断来设置,假如使用者在设置账号的字段名什么也没有键入时,会出現「输入您账号」,直至字段名有內容时,才会实行下一个流程。

因而,我们可以运用空集合配搭条件判断开展认证,

比如:

<?php
  $result = null;
  if ( $result ){
    echo "不是null 空集合 <br/>";
  }else{
    echo "发生了預想內的错误!! <br/>";
  }
?> 

输出結果:

发生了預想內的错误!! 


但是除开null之外,0、“”(空字符串)都是跳至else。

初始化

這算是一個常見的運用。在很多情況下,我們的情境不允許null值。

这算作一个普遍的应用。在许多情况下,大家的情景不允许null值。

比如说假如今日班里同学们有些人沒有报名参加期末考($result==null),教师在成绩表上還是务必给没报考的同学们0分($result=0),才可以让班里成绩表在加终于成绩时不容易出現计算误差,因此 大家经常会在一段逻辑性的最前边再加下列的这一段防呆。

<?php
$result = null;
if ($result == null){
    $result = 0;
}
echo  $result;
?> 


但是有时也会见到有些人反的写null==$result,

<?php
$result = null;
if (null == $result){
  $result = 0;
}
echo  $result;
?> 

为何要写反?这是由于如果不心把$result==null写出$result=null的情况下,会变为$result「被赋予」null,这时候就什么都不容易实行了。

(你能试着着拷贝,ctrl+z回应上一个动作,这类的多按几回,就非常容易产生那样的填错法。)

 <?php
 $result=null;
 if (null = $result){ //粗心大意填错少一个=,程序流程一般 没错,依据工作经验99%之上是人写错了   $result = 0;
 }
 echo  $result;
?> 

输出結果:

 

这也是由于有的人会非常写出null==$result,由于这样子的判断式常常写在程序流程的开始,假如手误得话有可能会造成 面的编码都没法实行。

(这类级别的手误是能够靠编写单元测试卷程序流程测出去的,但是这算不上在初学者教学内容里边。)

PHP型别较为表

在PHP官方网站里有出示型别较为表,让阅读者们参照在各种各样情况下的条件判断式会显示信息true(真)還是false(假)。有兴趣爱好的同学们能够参照:

PHP type comparison tables

http://php.net/manual/en/types.comparisons.php

联系我们

13751415268

853408942

:853408942@qq.com

:9:30-22:30

QR code