详情

php中什么是流程控制?php中流程控制有哪些?

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

流程控制是控制程序的手段,如果程序没有了流程控制,就不会有程序设计语言,大多数程序不是线性执行语句控制,如果程序需要和用户交流,要根据用户输入决定执行序列,甚至需要代码反复执行,这些都离不了流程控制。

在php中有三种基本的程序结构:顺序结构、分支结构、循环结构。

一、顺序结构

顺序结构是最常用的语句结构比如说赋值语句,它的执行顺序自上而下,依次执行。比如说:

$a=3;$b=4;如果想把$a和$b的值交换,我们需要第三个变量$c 实现方法如下:

<?php
//实现$a和$b的值互换
$a=3;
$b=4;
$c=$a;
$a=$b;
$b=$c;
echo'$a='.$a;
echo"";
echo'$b='.$b;
?>

结果是$a=4;$b=3;实现$a和$b值的互换:

二、分支结构

分支结构又称条件结构,它是依据明确的条件选择选择执行路径,而不是严格按照顺序执行,在编程实际运用中要根据程序流程选择适合的分支语句,它是依照条件的结果改变执行的程序。分支结构主要有以下几种形式。

单一分支结构(if语句)

if结构是单一条件结构,if语句是改变语句的执行顺序,是很多语言,包括php在内的最重要的特性之一。

if语句格式:if(表达式)

语句块;

表达式是执行的条件,条件只能是布尔型值,表达式如果是其他类型的值也会自动转换成布尔型的TRUE或者FALSE,是否执行取决于“表达式”结果。下例将输出 "晚上好!",如果当前时间 (HOUR) 大于 18:

<?php
$t=date("H");
if ($t>"18") {
echo "晚上好!";
}
?>

双向条件分支结构(if...else)

if语句包含else字据,满足条件执行一条语句,不满足执行其他语句,这是else子句功能,else是if语句从句,必须和if同时使用,不能单独存在。else语法格式:

if (条件) {

条件为 true 时执行的代码;

} else {

条件为 false 时执行的代码;

}

下例将输出 "白天好!",如果当前时间小于20,否则输出 "晚上好!"代码如下:

<?php
$t=date("H");
if ($t
echo "白天好!";
} else {
echo "晚上好!";
}
?>

多向分支结构(elseif子句)

它是if和else组合,elseif子句会根据不同的表达式值确定执行那个语句块。else语句格式如下:

if (条件) {

条件为 true 时执行的代码;

} elseif (condition) {

条件为 true 时执行的代码;

} else {

条件为 false 时执行的代码;

}

三、循环结构

计算机最擅长的是按照条件重复执行某些操作,它的特点是给定条件成立时,反复执行直到条件不成立为止,这个条件成为循环条件,反复执行的程序段成为循坏体。php提供有三种循环有while循坏、do-while循环、for循坏

while循坏

while循坏是php中最简单的循坏,while需要先设定一个布尔型条件,条件成立不断执行一个语句块,直到条件不成立为止。常用于控制循环次数未知的循坏结构。while的语句格式如下:

while (条件为真) {

要执行的代码;

}

实例

<?php
$x=0;
while($x<=3) {
echo "这个数字是:$x";
$x++;
}
?>

do....while循环

do....while循环会先执行一次代码块,然后检查条件,如果指定条件为真,则重复循环,如果一开始就是FALSE则整个循坏停止。do....while循环语句格式:

do {

要执行的代码;

} while (条件为真);

for语句循坏

for循环适合用于直到重复执行次数的情况,for语句需要预先定义好,它是php中最复杂的循坏结构,for语句格式如下:

for(初始化;条件表达式;增量){

语句块;

}

初始语句是一个赋值语句,设定循环变量初始赋值。表达式是一个关系表达式,决定什么时候退出循坏,条件为真继续执行,条件为假结束循坏执行下面语句。增量定义循坏控制变量,每次循坏按什么方式变化。

<?php
for ($y=5; $y<=10; $y++) {
echo "数字是:$y";
echo"";
}
?>

推荐文章
QQ:2529452897 | 邮箱:sw_vip@126.com
Copyright © 2021-2024 itwebme.com 版权所有 豫公网安备41010402002807 豫ICP备2021022777号-1