【PHP】流程控制

来源:互联网 发布:js 手机端图片预览 编辑:程序博客网 时间:2024/05/18 00:55


一、顺序结构:程序默认执行的顺序。(优先)

 

二、分支(选择)结构:

1、简单的分支结构:

程序执行按照对应的分支有选择来执行。语法:if(条件表达式){

语句块;

}

 

<?php

$x=0;

if($x>0)

{

echo "x>0";

}

if($x<=0){

echo "<=0";

}

?>

理解图

 

对于2个分支只会执行其中的一种,可以使用

if(条件表达式){

语句块

}else{

语句块

}

来简化

<?php

$x=-1;

if($x>0)

{

echo ">0";

}

else{

echo "<=0";

}

?>

2、并列选择结构:

多个ifif else语句并列,顺序可以互换,不会相互影响,只是哪个先判断先输出,哪个后判断后输出而已。

 

<?php

$y=1;

if($y>0){

echo "y>0";

}

else

{

echo "y<=0";

}

 

$x=-1;

if($x>0){

echo "x>0";

}

else{

echo "x<=0";

}

?>

3、嵌套(多重)选择结构:

 

<?php

$x=-3;

if($x>0){

echo ">0";

if($x>1){

echo ">1";

if($x>2){

echo ">2";

}

}

}

else{

echo "<=0";

if($x<-1){

echo "<-1";

if($x<-2){

echo "<-2";

}

}

}

?>

改变x的值看看程序执行的顺序和结果!!!!

 

3.2嵌套选择结构优化

对于注册和登录来说,需要排除所有的错误才会成功,任何一个错误都会导致失败,检测一个错误给出提示结束。

<?php

//用户名

$loginid="admin";

//密码

$pwd="admin";

 

if($loginid==""){

echo "用户名不得为空";

}

else{

if($loginid!="admin"){

echo "用户名错误";

}

else{

if($pwd==null){

echo "密码不得为空";

}

else{

if($pwd!="admin")

{

echo "密码错误";

}

else{

echo "登录成功";

}

}

}

}

?>

类似于注册和登录的功能实现,实现逆推法,排除所有的错误情况最后是正确的。

 

<?php

//用户名

$loginid="admin";

//密码

$pwd="admin";

 

if($loginid=='')

{

echo "用户名不得为空";

}

elseif($loginid!="admin"){

echo "用户名错误";

}

elseif($pwd==""){

echo "密码不得为空";

}

elseif($pwd!="admin"){

echo "密码错误";

}

else

{

echo "登录成功";

}

?>

 

等值判断并列选择结构的替换,语法:

switch(变量){

case 1:echo “=1”;break;

case 2:echo “=2”;break;

case 3:echo “=3”;break;

default:echo “其他的值”;break;

}

TIPS

1)default语句代表其他的任何值的处理可以不要,顺序可以随便换;

2)default放到最后,break要不要都可以,但是放到前面省略就有影响

3)break就是撕裂的意思。

 

 

大括号的问题:大括号可以省略,省略后if下面一条语句受控制。

<?php

$temp=2;//改变值使条件成立或不成立看看输出的结果

if($temp==1){

echo "1";

echo "2";

}

echo "<br>";

$tmp=2;//改变值使条件成立或不成立看看输出的结果

if($tmp==1)

echo "1";

echo "2";

?>

 

三、循环结构:

Whiledo whileforforeach

 

while语法:

While(表达式){

//语句块

}

掌握3个要点:

1、在循环之外定义循环条件;

2、使循环条件成立;

3、在循环体中改变条件,等到不想循环时使之不成立,从而终止循环。

<?php

//1、定义循环条件

$temp=10;

//2、使条件成立

while($temp>0){

echo "普通的输出语句";

$temp--;//3、改变条件使之不成立,从而终止循环

}

?>

 

Do{//语句块}while(条件表达式);

<?php

//1

$tmp=10;

do{

//语句块

echo $tmp;

echo "<br>";

--$tmp;//3

}while($tmp>0);//2

?>

 

For(;;){//语句块}  for

<?php

//1

$tmp=10;

 

for(;$tmp>0;){//2

echo $tmp;

$tmp--;//3

}

?>

对于for循环3要素可以进行 简化

<?php

for($tmp=10;$tmp>0;$tmp--){//1;2;3

echo $tmp;

}

?>

 

 

Break  撕裂,用在循环中可以终止循环

<?php

for($tmp=10;$tmp>0;$tmp--){//1;2;3

echo $tmp;

if($tmp==5)

break;

}

?>

 

Return返回,也可以终止循环。

<?php

for($tmp=10;$tmp>0;$tmp--){//1;2;3

echo $tmp;

if($tmp==5)

return;

}

?>

 

Breakreturn异同点

1)都可以终止循环;

2)终止循环中,break跳出循环,循环后面的语句还可以执行,而return不输出(程序结束);

3)break不可以单独使用,而return可以(程序结束)。

 

Continue,继续,用于for比较多。循环中其中某一次被跳过。

<?php

for($i=0;$i<10;$i++){

if($i==5)

continue;//后面的语句不执行,跳到第3要素

echo $i+1;

echo "<br>";

}

?>

想一想程序是如何执行的,再来看看以上关键字用于while会怎样

<?php

$i=0;

while($i<10){

echo $i+1;

echo "<br>";

if($i==4)

continue;

$i++;

}

?>

 

 

Foreach:高级for循环,专用于数组,详细请参阅 学玩网 数组。

 

0 0
原创粉丝点击