



PHP中的语法结构与C语言非常相似,其中,条件语句使用if关键字,应用结构如下。
在这个结构中,如果<条件1>成立(true)执行<语句块1>;否则,如果<条件2>成立执行<语句块2>,……如果所有条件不成立,则执行<语句块n>。其中,else if语句部分可以有多个,也可以没有;而else语句则可有可无,但它只能在结构的最后出现,并且只能定义一次。
下面的代码演示了if语句的使用。其中,当语句块只有一条语句时,可以省略花括号。
执行代码会显示“红色”,大家可以修改$color变量的值来观察代码执行结果。
对于比较复杂的条件,可以使用布尔运算进行组合。如下面的代码,通过复合条件来判断一个年份是否为闰年。
代码执行结果见图4-3。
图 4-3
本例设置的条件,通过逻辑或运算符(||)判断满足两个条件中的一个时,年份就是闰年,这两个条件分别是:
● 年份能被400整除,即年份除以400的余数等于0。
● 年份不能被100整除,但能被4整除。这里使用逻辑与运算符(&&)组合,只有两个条件都满足时才返回true。
对于复合条件或比较复杂的表达式,建议多用小括号来指定运算顺序,而不只是通过默认的运算符优先级,一方面可以更安全,另一方面也可以让代码的逻辑关系更加直观,便于代码的阅读和理解。
关于条件判断,再了解一下?:运算符。它是唯一的一个三元运算符,即需要三个运算数,应用格式如下。
<表达式1> ? <表达式2> : <表达式3>
在这个结构中,如果<表达式1>的值为true时,返回<表达式2>的值,否则返回<表达式3>的值。下面的代码演示了?:运算符的应用。
<?php
$x = 10;
echo isset($x)?$x:-1;
?>
执行代码会显示10,本例与下面的if语句结构功能相同。
不过,在PHP 7中使用??运算符可以更简洁地实现此功能,如下面的代码。
<?php
$x = 10;
echo $x??-1;
?>
执行代码同样会显示10,可以将$x变量修改为null值或删除,并观察运行结果。