【PHP基础-4】PHP流程控制语句

1 顺序执行

(1)任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。
(2)语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。
(3)无论是语句或语句组,均依次顺序执行。

2 分支执行语句

2.1 单向分支 if

利用if判断条件语句,为真则执行语句块,否则继续顺序执行。
语法

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

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

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

2.2 双向分支 if…else

在条件成立时执行一块代码,条件不成立时执行另一块代码,请使用 if…else 语句。
语法:其中缩进在PHP语句中不影响执行结果,仅增强可阅读性。

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

2.3 多向分支 if…elseif…else

elseif,和此名称暗示的一样,是 if 和 else 的组合。和 else 一样,它延伸了 if 语句,可以在原来的 if 表达式值为 false 时执行不同语句。但是和 else 不一样的是,它仅在 elseif 的条件表达式值为 true 时执行语句。
语法:

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

例子

<?php
header("content-type:text/html;charset=utf-8");
$grade=rand(0,100);
if($grade>=90)
{
    echo "A";
}
elseif($grade>=80)
{
    echo "B";
}
elseif($grade>=70)
{
    echo "C";
}
elseif($grade>=60)
{
    echo "D";
}
else
{
    echo "sorry";
}
?>

2.4 多向分支 switch

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

<?php
switch (n)
{
case label1:
    如果 n=label1,此处代码将执行;
    break;
case label2:
    如果 n=label2,此处代码将执行;
    break;
default:
    如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
?>
#工作原理:
#首先对一个简单的表达式 n(通常是变量)进行一次计算。将表达式的值与结构中每个 case 的值进行比较。
#如果存在匹配,则执行与 case 关联的代码。代码执行后,使用 break 来阻止代码跳入下一个 case 中继续执行。
#default 语句用于不存在匹配(即没有 case 为真)时执行。

例子

<?php
$day=rand(1,7);
switch($day)
{
    case 1:
        echo "Monday";
        break;
    case 2:
         echo "Tuesday";
          break;
    case 3:
        echo "Wednesday";
        break;
    case 4:
        echo "Thursday";
        break;
    case 5:
        echo "Friday";
        break;
    case 6:
        echo "Saturday";
        break;
    default:
        echo "Sunday";
}

?>

3 循环执行语句

3.1 while 循环

while 循环是 PHP 中最简单的循环类型。当条件表达式为真时,执行语句组。
语法

while (条件)
{
    要执行的代码;
}

例子

<!--while循环-->
<?php
$i=0;
while($i<10)
{
    echo ++$i;
    echo "<br/>";
}
?>

代码执行结果如下:
在这里插入图片描述

3.2 do-while 循环

do-while 循环和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时检查。
语法

do
{
    要执行的代码;
}
while (条件);

例子:

<!--do while循环-->
<?php
$i=0;
do
{
    echo ++$i;
    echo "<br/>";
}
while($i<10)
?>

代码执行结果如下:
在这里插入图片描述

3.3 for 循环

for 循环用于您预先知道脚本需要运行的次数的情况。由于其条件表达式、条件更新表达式位置明显,可读性强,建议优先考虑。
语法

for (初始值; 条件; 增量)
{
    要执行的代码;
}

参数

  • 初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循环的开始被执行一次的代码)。
  • 条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则循环结束。
  • 增量:主要用于递增计数器(但可以是任何在循环的结束被执行的代码)。

注释:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
例子

<!--for 循环-->
<?php
for($i=0;$i<5;$i++)
{
    echo "The number is {$i}.<br/>";
}
?>

代码执行结果如下:
在这里插入图片描述
更多实例请参考文章《for

3.4 foreach 循环

foreach 语法结构提供了遍历数组的简单方式。注意,foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。
语法:有两种表达式如下:

/*每进行一次循环,当前数组元素的值就会被赋值给 $value 变量(数组指针会逐一地移动),在进行下一次循环时,您将看到数组中的下一个值*/
foreach ($array as $key => $value)
{
    要执行代码;
}

/*每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值*/
foreach ($array as $key => $value)
{
    要执行代码;
}

例子

<?php
$x=array("Google","Runoob","Taobao");
foreach ($x as $value)
{
    echo $value . PHP_EOL;
}
?>

代码执行结果如下:
在这里插入图片描述

更多实例请参考文章《foreach》。

4 特殊控制语句

4.1 break 语句

结束执行当前的 for、foreach、while、do-while、switch 结构。
break语句接受一个数字的可选参数,决定跳出几重循环。 默认值是 1,仅仅跳出最近一层嵌套结构。如break 2指结束两层循环。

4.2 continue 语句

只能用在循环语句中,跳过本次循环而不是结束整个循环语句。理解好continue与break之间的区别。
特别地也可以应用在switch语句中,将结束整个switch语句。

4.3 exit() 与 die() 语句

用于结束当前整个程序的执行。

5 嵌套循环实例:九九乘法表

<!--九九乘法表-->
<?php
for($i=1;$i<10;$i++)
{
   for($j=1;$j<=$i;$j++)
   {
    echo $i.'*'.$j.'='.($i*$j).' ';
   }
   echo "<br/>";
}
?>

代码执行结果如下:
在这里插入图片描述

6 归纳

(1)理解各种条件控制语句的执行顺序和判断条件;
(2)灵活应用各种条件控制语句。

参考文章

[1] 《流程控制
[2] 《PHP菜鸟教程
[2] 《【PHP基础】条件控制语句

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值