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