1.顺序控制---不加控制的流程,默认按照顺序来执行你编写的代码
2.分支控制--有选择的来执行代码
· 单分支
1. 语法:if(条件表达式){语句;}
2. 快速入门
3. $age=150;
4. if($age>18){
5. echo "你年龄大于18.要对自己的行为负责";
}
· 双分支
1. 语法:if(条件表达式){语句;}else{语句;}
· 多分支(if else if else、switch)
1. 语法:if(条件表达式){语句;}else{语句;}
2. elif可以有多个,也可以没有
3. else可以没有
4. 语法:switch(表达式){case 变量1;n多语句;break;case 变量1;n多语句;break;defual:n多语句;break;}
5. case语句部分有一到多
6. defaul语句可以没有(根据自己代码业务逻辑)
7. 通常在case语句后要带上break。表示退出switch语句
8. 常量类型(int、float、string、boolean)
$mychar='a'; //常量可以为布尔类型(true)/字符串(“a”)
//当用布尔类型匹配时,会自动转换数据类型
switch ($mychar) {
case 'a':
echo "今天星期一"; //输出"今天星期一"
break; //注意:如果没有break,就会顺序执行,直到遇到下一个break
case 'b':
echo "今天星期二";
break;
case 'c':
echo "今天星期三";
break;
default:
echo "没有匹配的日期";
break;
}
//最终结论:首先按照case顺序进行匹配,如果一个都没匹配到则执行default,直到遇到break语句,退出switch
echo "over"; //输出over
3.循环控制
· for循环
1. 语法:for(循环初值;循环条件;步长){语句;}
<?php
for ($i=1; $i <= 5; $i++) {
for ($m=1; $m <=$i ; $m++) {
echo "*";
}
echo "<br/>";
}
?>
/*结果:
*
**
***
****
***** */
· while循环
1. 语法:while(循环条件){//循环体}
2. $a=0;
3. while ( $a< 10) {
4. echo "hello"."<br/>"; //输出10句hello
5. $a++; //对循环变量自增
}
· do...while循环控制
1. 语法:do{循环体 }while(循环条件);
$i=0;
do{
echo "hi"."<br/>"; //输出5次hi
$i++;
}while ($i<5);
//先执行在判断循环条件
ex1:打印整个金字塔
View Code
ex2:打印空心金字塔
View Code
ex3:简易计算器
View Code
ex4:99乘法表
View Code
ex5.选择不同的图片代表不同的剪刀锤子布,与随机生成的数字做剪刀锤子布游戏
ex4.php代码如下:
View Code
result.php的代码如下:
View Code
4.循环相关语句----break语句
基本概念:结束当前的for、while、do while、swith流程,可以给一个数字,表示退出到第几层
入门案例:
for ($i=0; $i <13 ; $i++) {
echo "hello".$i."<br/>"; //输出结果:从hllo0一直到hello10
if ($i==10) {
break;
}
}
5.continue
基本概念:continue用于结束本次循环剩余代码,从新开始新的一次循环(如果条件为真,就继续执行),continue后面也可以跟数字,表示从第几层循环开始
View Code
6.goto
基本概念:通过goto语句,我们可以跳转到指定的地方去执行
//注意:在for里面定义两个变量,注意用逗号隔开
for ($i=0,$j=50;$i <100 ; $i++) {
while ($j--) { //一直在while里面的循环,直到跳出该循环
if ($j==17) goto end;
}
}
echo "$i=".$i; //该语句不会被执行
end:
echo "j=17".$i."||".$j;
7.常量
基本概念:特殊的变量.
1. 定义变量前面不需要定义$
2. 常量一旦定义 ,则不能修改其值
3. 常量在定义的时候,就需要给他赋初值
4. 常量可以通过define或者const定义
5. 常量的名称,一般说是全部大写,用下划线间隔
6. 什么时候需要使用到这个常量呢?在程序中我们不希望某个值变化,则考虑使用常量(圆周率,税率)
// 第一种方法
define("TAX_TATE", 0.08); //不允许改变
echo TAX_TATE; //输出0.08
//第二种方法
const TAX_TATE2=0.1;
echo TAX_TATE2; //输出0.1