PHP 条件语句基本语法结构

if单分支的基本语法结构

  1. if(条件表达式){
  2. //执行语句;
  3. }

if双分支

基本语法结构

  1. if(条件表达式){
  2. //执行语句;
  3. }else{
  4. //执行语句;
  5. }

if多重分支

基本语法结构是

  1. if(条件表达式){
  2. //执行语句;
  3. }else if (条件表达式){
  4. //执行语句;
  5. }else if(条件表示式){
  6. //执行语句;
  7. }else{//这里可能还有更多的else if
  8. //执行语句;
  9. }

☞ 对上面的结构请注意:

1) else if 可以有一个,也可以有多个

2) else 可以没有

实例代码如下:

  1. <html>
  2. <FORM METHOD=POST ACTION="">
  3. 帐号: <INPUT TYPE="text" NAME="account"><BR>
  4. 密码: <INPUT TYPE="text" NAME="password"><BR>
  5. <INPUT TYPE="submit" value="送出">
  6. </FORM>
  7. </html>
  8. <?php
  9. if($account == "lord" && $password == "pass"){
  10. echo "欢迎 $_POST[account], 你的密码是 $_POST[password]";
  11. }elseif($_POST[account] == "god" && $_POST[password] == "dog"){
  12. $y = date("Y") - 1911;
  13. $m = date("m");
  14. $d = date("d");
  15. echo "欢迎 $_POST[account], 今天是民国".$y."年".$m."月".$d."日";
  16. }else{
  17. echo "登入失败:<hr> 输入的资料:<br>帐号: $_POST[account] <br>密码: $_POST[password]";
  18. }
  19. ?>
switch分支语句

基本语法结构

  1. switch(表达式){
  2. case 常量1:
  3. //执行语句;
  4. break;
  5. case 常量2:
  6. //执行语句;
  7. break;
  8. defual:
  9. //执行语句;
  10. break;
  11. }

例,下面两个例子用不同方法实现同样的事情,第一个是用 if...elseif...else 语句,一个使用 switch语句,代码如下:

  1. <?php
  2. if ($i == 0) { echo "i equals 0";} elseif ($i == 1) { echo "i equals 1";} elseif ($i == 2) { echo "i equals 2";}
  3. else {
  4. echo "i is not equal to 0, 1 or 2";
  5. }
  6. ?>

上面这段 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时计算:后面的表达式。

如果不习惯可以改成如下代码:

  1. if (emptyempty($isEmpty)) //条件成立
  2. {
  3. $cookie = "";
  4. }
  5. else
  6. {
  7. $cookie = trim($isEmpty);
  8. }

☞ 请注意:

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。