【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、并列选择结构:
多个if或if 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";
?>
三、循环结构:
While、do while、for、foreach
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;
}
?>
Break与return异同点
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循环,专用于数组,详细请参阅 学玩网 数组。
- php流程控制流程图解
- PHP流程控制
- php流程控制
- PHP流程控制简介
- PHP的流程控制
- PHP流程控制语句
- PHP流程控制语句
- PHP流程控制语句
- PHP中的流程控制
- PHP中的流程控制
- PHP流程控制语句
- PHP中的流程控制
- PHP中的流程控制
- PHP的流程控制
- 【PHP】流程控制
- PHP流程控制
- 【PHP】流程控制
- php 流程控制
- leetcode217: Contains Duplicate
- JSON数组转Java List
- 2013_chengdu_onsite
- C语言之mystrcat
- xUtils 的使用(含版本迭代)
- 【PHP】流程控制
- [LeetCode343]Integer Break
- Android返回键后台程序不退出
- USB协议架构及驱动架构
- 数据库范式(转载)
- 【计算机视觉】【并行计算与CUDA开发】GPU硬编码
- 利用Swap指令进程互斥实现
- 【整理】make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig
- 每日总结10.24