PHP 条件语句基本语法结构
if单分支的基本语法结构
- if(条件表达式){
- //执行语句;
- }
if双分支
基本语法结构
- if(条件表达式){
- //执行语句;
- }else{
- //执行语句;
- }
if多重分支
基本语法结构是
- if(条件表达式){
- //执行语句;
- }else if (条件表达式){
- //执行语句;
- }else if(条件表示式){
- //执行语句;
- }else{//这里可能还有更多的else if
- //执行语句;
- }
☞ 对上面的结构请注意:
1) else if 可以有一个,也可以有多个
2) else 可以没有
实例代码如下:
- <html>
- <FORM METHOD=POST ACTION="">
- 帐号: <INPUT TYPE="text" NAME="account"><BR>
- 密码: <INPUT TYPE="text" NAME="password"><BR>
- <INPUT TYPE="submit" value="送出">
- </FORM>
- </html>
- <?php
- if($account == "lord" && $password == "pass"){
- echo "欢迎 $_POST[account], 你的密码是 $_POST[password]";
- }elseif($_POST[account] == "god" && $_POST[password] == "dog"){
- $y = date("Y") - 1911;
- $m = date("m");
- $d = date("d");
- echo "欢迎 $_POST[account], 今天是民国".$y."年".$m."月".$d."日";
- }else{
- echo "登入失败:<hr> 输入的资料:<br>帐号: $_POST[account] <br>密码: $_POST[password]";
- }
- ?>
基本语法结构
- switch(表达式){
- case 常量1:
- //执行语句;
- break;
- case 常量2:
- //执行语句;
- break;
- defual:
- //执行语句;
- break;
- }
例,下面两个例子用不同方法实现同样的事情,第一个是用 if...elseif...else 语句,一个使用 switch语句,代码如下:
- <?php
- if ($i == 0) { echo "i equals 0";} elseif ($i == 1) { echo "i equals 1";} elseif ($i == 2) { echo "i equals 2";}
- else {
- echo "i is not equal to 0, 1 or 2";
- }
- ?>
上面这段 PHP 代码的意思是:如果变量 $i 等于 0,则输出 "i equals 0";如果变量 $i 等于 1,则输出 "i equals 1";如果变量 $i 等于 2,则输出 "i equals 2";如果都不是,则输出"i is not equal to 0, 1 or 2"。
switch 语句和 elseif 语句的比较
在 switch 语句中,条件只求一次,然后和每个 case 比较,而在 elseif 语句中,条件会再次求值。如果你的条件比较复杂,或者是多次循环,用 switch 语句速度会更加快些,代码如下:
isEmpty="";
$isEmpty=" 非空 ";
$test = empty($isEmpty)?"":trim($isEmpty);
三目运算符?: 根据前面的条件empty($isEmpty)true或者false,条件为true时,计算?后面的表达式,false时计算:后面的表达式。
如果不习惯可以改成如下代码:
- if (emptyempty($isEmpty)) //条件成立
- {
- $cookie = "";
- }
- else
- {
- $cookie = trim($isEmpty);
- }
☞ 请注意:
1) case 语句有一到多
2) defaul 语句可以没有(根据自己代码的业务逻辑)
3) 通常,在case 语句后,要带break ,表示退出switch语句
4) 常量的类型 (int, float, 字符串, 布尔型)
补充
比较运算符。
$a == $b 等于 TRUE,如果 $a 等于 $b。
$a != $b 不等 TRUE,如果 $a 不等于 $b。
$a <> $b 不等 TRUE,如果 $a 不等于 $b。
$a < $b 小与 TRUE,如果 $a 严格小于 $b。
$a > $b 大于 TRUE,如果 $a 严格 $b。
$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。
逻辑运算符
$a and $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。
$a or $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。
$a xor $b Xor(逻辑异或) TRUE,如果 $a 或 $b 任一为 TRUE,但不同时是。
! $a Not(逻辑非) TRUE,如果 $a 不为 TRUE。
$a && $b And(逻辑与) TRUE,如果 $a 与 $b 都为 TRUE。
$a || $b Or(逻辑或) TRUE,如果 $a 或 $b 任一为 TRUE。