avatar

【PHP】PHP基础语法之条件语句

PHP 条件语句

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

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

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

PHP - if 语句

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

语法

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

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

1
2
3
4
5
6
7
<?php
$t=date("H");
if ($t<"20")
{
echo "Have a good day!";
}
?>

PHP - if…else 语句

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

语法

1
2
3
4
5
6
7
8
9
if (条件)
{
条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}
`

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

1
2
3
4
5
6
7
8
9
10
11
<?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 语句。.

1
2
3
4
5
6
7
8
9
10
11
12
13
语法
if (条件)
{
if 条件成立时执行的代码;
}
elseif (条件)
{
elseif 条件成立时执行的代码;
}
else
{
条件不成立时执行的代码;
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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!";
}
?>

elseif 和 else if

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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!";
}
?>

等同于:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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!";
}
?>

Switch 语句

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

如果您希望有选择地执行若干代码块之一,请使用 switch 语句。

语法

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>

工作原理:

首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。default 语句用于不存在匹配(即没有 case 为真)时执行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$favcolor="red";
switch ($favcolor)
{
case "red":
echo "你喜欢的颜色是红色!";
break;
case "blue":
echo "你喜欢的颜色是蓝色!";
break;
case "green":
echo "你喜欢的颜色是绿色!";
break;
default:
echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
}
?>

在 switch 语句中漏写 break, 可能会使你的输出在你意料之外,下面我来和你们仔细讲解 break 的作用:

下面的代码是正确示范,结果将是只会输出:这里是a。

倘若你忘敲了 case ‘a’,case ‘b’,case ‘c’ 后的 break,结果将是将代码中的每一条输出语句都输出。

倘若你只敲了 case ‘c’ 后的 break, 结果将会是输出包含 case ‘c’ 之前的所有输出语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$x='a';
switch ($x){
case 'a': //变量$x的值和该种情况匹配,将从此处开始执行。
echo "这里是a"."<br>";
break;
case 'b':
echo "这里是b"."<br>";
break;
case 'c':
echo "这里是c"."<br>";
break;
default:
echo "这里是default";
}
?>
文章作者: hirak0
文章链接: https://hirak0.xyz/posts/56208/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 hirak0's Blog
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论