一.流程控制
PHP中有三种控制语句用以实现选择结构与循环结构:
1、条件控制语句:if、else、elseif和switch;
序号 |
类型 |
语法 |
模板语法 |
1 |
单分支 |
if(){...} |
if(): ... endif; |
2 |
双分支 |
if(){...} else {...} |
if(): ... else: ... endif; |
3 |
多分支 |
if(){...} elseif {...} else {...} |
if(): ... elseif: ... else: ... endif; |
4 |
switch |
switch() {case: ... break...} |
switch(): ...endswitch; |
2、循环控制语句:while、do while和for;
序号 |
类型 |
语法 |
模板语法 |
1 |
入口判断型 |
while(){...} |
while(): ... endwhile; |
2 |
出口判断型 |
do {...} while(); |
do : ... while(); |
3 |
计数型 |
for(){...} |
for () : ... endfor; |
3、转移控制语句:break、continue;
序号 |
关键字 |
描述 |
1 |
continue |
终止本次循环,提前进入下一轮 |
2 |
break |
跳出本层循环 |
示例:
1.1 If···else语句,用法:
<?php
$a=50;
if($a>=60){
echo '你好';
} else
echo '再见';
?>
1.2 If···elseif···else语句,用法:
<?php
$a = 50;
if($a>=60) //在大于等于60的情况里在进行分类
{
if($a==100)
echo '你好';
elseif($a>=90)
echo '再见';
else
echo '拜拜';
}
else
echo '拜拜了';
?>
1.3 Switch语句,用法:
<?php
$a = 59;
switch($a)
{
case $a == 100;
echo 'A';
break;
case $a >= 90;
echo 'B';
break;
case $a >= 60;
echo 'C';
break;
default:
echo 'D';
}
?>
2.1 while语句,用法:
<?php
$num=1;
$str='10以内的偶数为:';
while($num<=10){
if($num%2==0){
$str.=$num.' ';
}
$num++;
}
echo $str;
?>
结果:十以内的偶数为:2 4 6 8 10
2.2 do while语句,用法:
<?php
$i=0;
do
{
echo $i;
$i++;
}while($i<5);
?>
结果:01234
2.3 for语句,用法:
<?php
for($i = 0;$i < 5;$i++)
{
echo $i;
}
?>
结果:01234
3.1 break语句,用法:
<?php
for ($i=0; $i <=10 ; $i++) {
if($i==5) break;//$i等于5时,跳出整个循环
echo $i;
}
?>
结果:01234
3.2 continue语句,用法:
<?php
for ($i=0; $i <=10 ; $i++) {
if($i==5) continue;//$i等于5时,跳出本次循环
echo $i;
}
?>
结果:01234678910 (没有5)
二.运算符
1. 算术运算符
序号 |
运算符 |
示例 |
描述 |
1 |
+ |
$a+$b |
$a与$b 的和 |
2 |
- |
$a-$b |
$a与$b 的差 |
3 |
* |
$a*$b |
$a与$b 的积 |
4 |
/ |
$a/$b |
$a与$b 的商 |
5 |
% |
$a%$b |
$a与$b 的余(模) |
6 |
++ |
$a++/++$a |
先用再加/先加再用 |
7 |
-- |
$a--/--$a |
先用再减/先减再用 |
8 |
** |
2**4 |
幂运算:2 的 4 次方 |
示例
<?php
$x=10;
$y=8;
echo ($x + $y); // 输出18
echo '<br>'; // 换行
echo ($x - $y); // 输出2
echo '<br>'; // 换行
echo ($x * $y); // 输出80
echo '<br>'; // 换行
echo ($x / $y); // 输出1.25
echo '<br>'; // 换行
echo ($x % $y); // 输出2
echo '<br>'; // 换行
echo -$x;
?>
2. 字符串运算符
运算符 |
示例 |
描述 |
. |
$str1 . $str2 |
连接运算,返回连接之后的字符串 |
3. 赋值运算符
序号 |
运算符 |
示例 |
描述 |
1 |
= |
$a = 10 |
将表达式的值赋给变量 |
2 |
+= |
$a += 10 |
$a = $a + 10; |
3 |
-= |
$a -= 10 |
$a = $a - 10; |
4 |
*= |
$a *= 10 |
$a = $a * 10; |
5 |
/= |
$a /= 10 |
$a = $a / 10; |
6 |
%= |
$a %= 10 |
$a = $a % 10; |
7 |
.= |
$a .= 'a' |
$a = $a . 'a'; |
示例
<?php
$x=50;
echo $x; // 输出50
$y=60;
$y += 100;
echo $y; // 输出160
$z=80;
$z -= 25;
echo $z; // 输出55
$i=12;
$i *= 6;
echo $i; // 输出72
$j=30;
$j /= 5;
echo $j; // 输出6
$k=2;
$k %= 4;
echo $k; // 输出2
?>
4. 比较运算符
序号 |
运算符 |
示例 |
描述 |
1 |
> |
$a > $b |
大于 |
2 |
>= |
$a >= $b |
大于或等于 |
3 |
< |
$a < $b |
小于 |
4 |
<= |
$a <= $b |
小于或等于 |
5 |
== |
$a == $b |
等于 (值相等即可) |
6 |
=== |
$a == $b |
全等于(二边值与类型全等) |
7 |
!= |
$a != $b |
不相等 |
8 |
!== |
$a !== $b |
不全等 |
9 |
<=> |
$a <=> $b |
太空船php7+ |
- 比较运算符: 返回布尔值,常用于流程控制中(
if/while/for...
) <=>
: 也叫组合比较符, 例如$a <=> $b
, 有三种返回结果
序号 |
运算 |
结果 |
1 |
$a > $b |
返回>0 的整数 |
2 |
$a < $b |
返回<0 的整数 |
3 |
$a = $b |
返回=0 的整数 |
示例
<?php
$x=300;
$y="100";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x !== $y);
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b);
echo "<br>";
var_dump($a < $b);
?>
结果:
- bool(false)
- bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
5. 逻辑运算符
序号 |
运算符 |
示例 |
描述 |
1 |
&& |
$a && $b |
逻辑与 |
2 |
` |
|
` |
`$a |
|
$b` |
逻辑或 |
3 |
! |
!$a |
逻辑非 |
4 |
xor |
$a xor $b |
逻辑异或 |
6. 三元运算符
序号 |
运算符 |
示例 |
描述 |
场景 |
1 |
?: |
$a ?: $b |
仅判断表达式true/false |
简化双分支 |
2 |
?? |
$a ?? $b |
判断变量存在且不为 null |
设置默认值 |
7. 错误屏蔽符
运算符 |
示例 |
描述 |
场景 |
@ |
@(10/0) |
屏蔽所有运行错误 |
线上生产环境 |
总结:
通过本次课了解if语句的使用,了解扩展if语句的else、elseif关键字,掌握了switch…case多重判断语句、while循环语句、do…while循环语句、for循环语句,
了解break/continue关键字。
了解PHP的各种运算符,需要注意运算符的优先级问题。
1.要意识到运算符有优先级
2·括号最优先,赋值最落后(通常)
3·先乘除后加减
4·大致:单目运算符〉算术运算符〉比较运算符〉逻辑运算符