流程控制的定义
流程控制是控制程序的手段,如果程序没有了流程控制,就不会有程设计语言,大多数程序不是线性执行语句控制,如果程序需要和用户交流,要根据用户输入决定执行序列,甚至需要代码反复执行,这些都离不了流程控制。
在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"
";
}
?>
以上是关于php中的流程控制的简单介绍,在实际工作中需要使用大量的控制语句,他们之间也会现嵌套的,流程控制语句需要不断提高自身能力和不断总结进步。