PHP丨PHP基础知识之条件语IF判断「理论篇」
if语句是指编程语言(包括c语言、C#、VB、java、php、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
if语句概述
if语句是指编程语言(包括c语言、C++、C#、java、php、VB、汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if的返回值为真或假,可以用bool型变量进行存储,占用一字节。
条件语句作用
以编写脚本为例,在编写脚本中,条件语句是非常有用的。与其按照脚本内容执行每一行代码,不如只有当特定条件满足时,才执行脚本中的某些代码。甚至可将单个条件扩展为条件语句的集合,用于决定某些代码是否执行。
使用条件语句,可以告诉JavaScript做到像下面的事情:
·如果变量youmame等于Jonh,那么将“hello to John”输出到页面。否则输出“hello to Unknow Surfer”并将内容加粗。
·如果变量mycar等于Corvette或Mustang,那么向浏览器发出警告“Cool car”。如果变量mycar等于Covette,并且变量yourname等于Marty,那么向浏览器发出警告“Marty is cool and drives a cool car”。否则,向浏览者发出警告“Unknown Surfer drives a car of some sort”。
我并不驾驶Corvette或者Mustang,所以请将我从很时髦的人群中排除。而这些例子显示了如何在执行操作之前通过检查某些条件,达到更多的目的。这些类型的语句在脚本中称为控制流。
if语句一般形式
if语句的一般形式如下:
if(表达式)语句1
[else语句2]
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。
空悬else
问题描述
if-else 语句引入了一种二义性问题称为空悬else (dangling-else) 问题,这种问题出现在当if 子句多于else 子句时。问题是这些else 子句分别和哪一个if 子句匹配。例如:
if($str <= $arr[1])
if($str == $arr[1]) $num++;
else{
$str = $arr[1];
$num = 1;
}
程序的缩进形式表明程序员相信else 应该与最外面的if 子句匹配,然而在中空悬else 二义性由以下规定来解决:else 子句与最后出现的未被匹配的if 子句相匹配
解决方式
要想改变这种缺省的空悬else 匹配效果一种方法是把后来出现的if 放在复合语句中:
if($str <= $arr[1]){
if($str == $arr[1]) $num++;
}else{
$str = $arr[1];
$num = 1;
}
编码风格建议
总是使用复合语句括号以避免在以后修改代码时可能出现的混淆或错误。
比较运算符
equ - 等于
neq - 不等于
lss - 小于
leq - 小于或等于
gtr - 大于
geq - 大于或等于
文章收集与网络,辛苦收集转载请备注出处一只大脸猫博客!