PHP流程控制语句知识点:
一、条件判断语句:
1. if语句
这是个选择语句,代码如下
# 基础语法if (条件) {//这里的条件是一个bool类型的值(true,false),当这里的条件为true时进入大括号内(执行大括号内的代码块)。 代码块;//代码块内写想要执行的代码}
# if...else 除了基础语法的if语句还有一个适用于不属于条件1的其他结果,就是if...else...if(条件){ 代码块1;//代码块1内写想要执行的代码}else{ 代码块2;//此处写当条件的结果为false时,进入else的代码块。}
# if...elseif...else... 这个就用于多条件判断(根据两个以上的条件执行不同的代码)if (条件1) { 条件1为 true 时执行的代码;} elseif (条件2) {//当代码运行到此处就代表条件1的结果为false,再判断条件2的结果,如果也为false那就继续往下走(条件2的方法体不执行!!) 条件2为 true 时执行的代码;} else { 条件为 false 时执行的代码;}
# 例子:$time = rand(0,23);//这里的作用是调用rand方法生成随机数(0-23之间)-------(1)if($time>=7&&$time<12){//这里的作用是判断时间在7-12点之间 ---------------(2) echo '早上好,又是美好的一天';}elseif($time>=12&&$time<2){//同(1) echo '中午啦,起来重睡';//同(2)}elseif($time>=2&&$time<8){//同(1) echo '下午了,想想晚上吃啥';//同(2)}else{//当代码运行到这里代表上面条件都为false,此时执行else中的代码。 echo '这都几点了,还不睡???'//同(2)}通过上述模板和例子,我们可以明白if选择语句的基础用法,同时也明白每个区域的作用。
注:在php中if的执行语句块为一行的时候,可以神略大括号!
2. switch语句:
如果您希望有选择地执行若干代码块之一,请使用 Switch 语句。使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。
switch要搭配case关键字来使用,但是要注意在代码内有一个异常情况,我介绍完例子会解释
# 标准语法switch (表达式){//这里的表达式一般为基础数据表达式case 值1://case关键字用于判断表达式的值是否等于后面的值,若为true则执行冒号(:)后面的代码块,若为false则继续判断 表达式 = 值1 时执行的代码 ; break; //这个break是个重点,我下面会说case 值2://... 表达式 = 值2 时执行的代码 ; break;default://这里代表上面的条件都为true时执行这里的内容,也可以看作“默认执行方法” 表达式的值不等于 值1 及 值2 时执行的代码;}注:当break不写的时候,可能会存在数据穿透的异常,可能会把结果为true后的的所有代码块都执行(在开发中要十分注意)
二、循环控制语句:
3. while循环:
在编写代码时,经常需要反复运行同一代码块。所以我们可以使用循环来重复执行这样的任务,而不是在脚本中添加若干几乎相等的代码块,使整个代码十分臃肿。
- while - 只要指定条件为真,则循环代码块
示例代码及解释如下
while (条件为真) { 要执行的代码;}# 这个真没啥讲的,举个例子吧# 比如:康总需要反复往返于郑州和新郑,就是典型的循环结构.假设康总投资这个项目需要往返郑州100次,每次访问都会计数一次.难道写一百遍同样的代码?显然对于智商极高的程序员来说不可能这样处理。# 示例:
//while后面接布尔值判断,为真执行,为假停止$count=0;//循环开始处while($count < 100){//$count小于100的时候执行,也就是$count为0至99的时候执行.如果$count不小于100了,循环停止执行后续的代码 echo "这是康总第 $count 次出差"; PHP_EOL;//这行相当于html中的<br>换行 //每次执行让$count+1,这样的话,就不会产生$count永远小于100的情况了 $count++;}//循环结束4. do…while循环:
说说区别吧
do{ 代码块;}while(判断)do…while与while区别是,它们的值得检查时机不同. do…while不论while判断是否成立,先执行一次代码块循环语句,保证会执行一次(表达式的真值在每次循环结束后检查) 然而我们之前的while循环会检查条件表达式,结果为true则执行,结果为false则不执行.
$i=0;do { echo $i++;}while($i<0);//输出结果是0//这里涉及到两个知识点1, 已知$i=0,在while后面的条件判断中,判断条件为$i<0 (结果为false),但是却执行了一次循环,代表了什么? 代表do...while就算结果是false也最少执行一次。2, echo $i++ 输出为0,应为 $i++ 的意义是先赋值再自加一(也可见说先传值)5. for循环:
如果您已经提前确定脚本运行的次数,可以使用 for 循环。基础语法如下
for (表达式1;表达式2;表达式3) {/* 1、表达式1是初始化赋值,可以同时赋值多个代码; 2、表示式2在每次循环开始前求值,如果值为true,则继续循环,执行嵌套的循环语句,如果值为false,则终止循环. 3、表达式3在每次循环之后被求值. 4、表达式1和表达式3是可以不在括号内写.*/ 代码块;}
# 我举个例子吧,当你需要计算1-100的和$sum = 0;//初始化一个值用于存储每次循环结束的结果for($i = $sum;$i <= 100;$i++){//这行的意思是定义了一个变量$i让他等于$sum,为什么第二次循环不把第一次循环结束的$sum再重新赋值给$i? // 因为for循环中表达式一中的初始化赋值只赋值一遍! $sum += $i;//+=赋值运算}echo $sum;//结果是50506. foreach循环:
foreach 循环只适用于数组,并用于遍历数组中的每个键/值 对。
foreach ($array as $value) { 代码块;}//每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。$phone = array("huawei","vivo","oppo","mi","iphone");//创建数组foreach($phone as $value) {//数组值赋值给 $value 变量 echo "Value=" . $value;//打印! echo "<br>";//换行}# 用的有点少,自己补充一下啊哈!!三、跳转控制语句:
7. break语句:
break是被用在上面所提的各种循环和switch语句中的。他的作用是跳出当前的语法结构,执行下面的语句。break语句可以带一个参数n,表示跳出循环的层数,如果要跳出多重循环的话,可以用n来表示跳出的层数,如果不带参数默认是跳出本重循环。
就不举例了,很简单的!
8. Continue语句:
continue是用来用在循环结构中,控制程序放弃本次循环continue语句之后的代码并转而进行下一次循环。continue本身并不跳出循环结构,只是放弃这一次循环。如果在非循环结构中(例如if语句中,switch语句中)使用continue,程序将会出错。
太晚了,这个咱就自力更生吧!
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时





