菜鸟教程 -- 学的不仅是技术,更是梦想!

PHP 教程
(追記) (追記ここまで)

PHP If...Else 语句


条件语句用于根据不同条件执行不同动作。


PHP 条件语句

当您编写代码时,您常常需要为不同的判断执行不同的动作。您可以在代码中使用条件语句来完成此任务。

在 PHP 中,提供了下列条件语句:

  • if 语句 - 在条件成立时执行代码
  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
  • switch 语句 - 在若干条件之一成立时执行一个代码块

PHP - if 语句

if 语句用于仅当指定条件成立时执行代码

语法

if (条件) {
  条件成立时要执行的代码;
}

如果当前时间小于 20,下面的实例将输出 "Have a good day!":

实例

<?php$t=date("H"); if($t<"20"){echo"Have a good day!"; }?>

运行实例 »


PHP - if...else 语句

在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if....else 语句。

语法

if (条件) {
 条件成立时执行的代码;
} else {
 条件不成立时执行的代码;
}

如果当前时间小于 20,下面的实例将输出 "Have a good day!",否则输出 "Have a good night!":

实例

<?php$t=date("H"); if($t<"20"){echo"Have a good day!"; }else{echo"Have a good night!"; }?>

运行实例 »


PHP - if...elseif....else 语句

在若干条件之一成立时执行一个代码块,请使用 if....elseif...else 语句。.

语法

if (条件) {
 if 条件成立时执行的代码;
} elseif (条件) {
 elseif 条件成立时执行的代码;
} else {
 条件不成立时执行的代码;
}

如果当前时间小于 10,下面的实例将输出 "Have a good morning!",如果当前时间不小于 10 且小于 20,则输出 "Have a good day!",否则输出 "Have a good night!":

实例

<?php$t=date("H"); if($t<"10"){echo"Have a good morning!"; }elseif($t<"20"){echo"Have a good day!"; }else{echo"Have a good night!"; }?>

运行实例 »


PHP - switch 语句

switch 语句将在下一章进行讲解。

AI 思考中...

3 篇笔记 写笔记

  1. #0

    stinkaroo

    190***[email protected]

    29

    elseifelse if 完全同效果,elseif 是 PHP 为 else if 专门做到容错版。更准确更严格的写法为后者: else if

    <?php
    $t=date("H");
    if ($t<"10")
    {
     echo "Have a good morning!";
    }
    elseif ($t<"20")
    {
     echo "Have a good day!";
    }
    else
    {
     echo "Have a good night!";
    }
    ?>

    等同于:

    <?php
    $t=date("H");
    if ($t<"10")
    {
     echo "Have a good morning!";
    }
    else if ($t<"20") //此处有空格
    {
     echo "Have a good day!";
    }
    else
    {
     echo "Have a good night!";
    }
    ?>

    stinkaroo

    190***[email protected]

    9年前 (2017年11月01日)
  2. #0

    兴趣使然学编程

    285***[email protected]

    参考地址

    140

    如果你觉得最后这两个实例的运行结果不对,那是因为自 PHP5.0 开始,用PHP获取系统时间时,时间比当前时间少 8 个小时。原因是 PHP.ini 中没有设置 timezone 时,PHP 是使用的 UTC 时间,所以在中国时间要少 8 小时。因此你的时间都要 -8,所以代码是没问题的。

    解决办法:

    1.在PHP.ini文件中修改设置。

    [Date]
    ; Defines the default timezone used by the date functions
    date.timezone = Asia/Shanghai

    这里真是。。。可以设置 Shanghai,Chongqin,Hong_Kong,TaiBei... 等等,可就是没有找到 Beijing,不知道是什么原因。

    2.在PHP程序中运行时设置。

    <?php
    if(date_default_timezone_get() != "1Asia/Shanghai") date_default_timezone_set("Asia/Shanghai");
    ?>

    注意:用 date_default_timezone_get 获得的时间设置中有一个 1,也不太清楚是杂回事呢。

    3.在使用时间时自己多加 8*3600 秒也是行滴。

    <?php
    echo date("Y-m-d H:i:s",time()+8*3600);
    ?>
    兴趣使然学编程

    兴趣使然学编程

    285***[email protected]

    参考地址

    8年前 (2018年11月07日)
  3. #0

    生活很黑白

    975***[email protected]

    10

    在一些逻辑比较简单的判断场景下,可以直接使用表达式来代替判断写法,提高代码可读性的同时也可以让代码更加美观。

    // Eg1
    [$name, $age] = ['Jack', null]; // 解构赋值
    // 普通写法
    if ($name == 'Jack') {
     $age = 20;
    }
    // 免 if 写法
    $name == 'Jack' and $age = 20;
    [$a, $b] = [null, null];
    $name == 'Jack' and ([$a, $b] = ['value', 'value']); // 多变量赋值写法

    这种写法同样适用于调用函数与方法。

    // Eg2
    [$name, $list] = ['Jack', []];
    class A_Class {
     public function _action() {}
    }
    // 普通写法
    if ($name == 'Jack') {
     array_push($list, $name);
     (new A_Class) -> _action(); // 构造函数无参数实例化时无需写括号
    }
    // 免 if 写法
    $name == 'Jack' and array_push($list, $name);
    $name == 'Jack' and (new A_Class) -> _action();

    生活很黑白

    975***[email protected]

    4年前 (2022年12月14日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /