1、运算符
1.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
$a = 4;
$b = 6;
echo ++$a . "<br>" ;
echo --$b;
echo "<hr>";
$c = 4;
echo $c**3;
?>
1.2、 字符串运算符
运算符 |
示例 |
描述 |
. |
$str1 . $str2 |
连接运算,返回连接之后的字符串 |
代码实例
<?php
$a = "欢迎你";
$b = "来PHP中文网";
echo $a . $b;
?>
1.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
$a = 45;
$b = 12;
//echo $a/=$b;
echo $a%=$b;
echo"<hr>";
$ab = 41;
$bc = 10;
echo $ab+=$bc;
?>
1.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
$a = 21;
$b = 10;
if($a>$b){
echo "$a".">"."$b";
}else{
echo "$a"."<"."$b";
}
echo"<hr>";
$a = 10;
$b = "10";
if($a==$b){
echo "$a"."="."$b";
}else{
echo "$a"."≠"."$b";
}
echo"<br>";
if($a===$b){
echo "$a"."="."$b";
}else{
echo "$a"."≠"."$b";
}
echo"<hr>";
$a = 10;
$b = 8;
var_dump($a<=>$b);
$a = 4;
$b = 8;
var_dump($a<=>$b);
$a = 4;
$b = 4;
var_dump($a<=>$b);
?>
1.5、 逻辑运算符
序号 |
运算符 |
示例 |
描述 |
1 |
&& |
$a && $b |
逻辑与 |
2 |
` |
|
` |
`$a |
|
$b` |
逻辑或 |
3 |
! |
!$a |
逻辑非 |
4 |
xor |
$a xor $b |
逻辑异或 |
代码实例
<?php
$a = true;
$b = false;
if($a && $b){//如果都为真
echo "真";
}else{
echo "假";
}
echo "<br>";
if($a || $b){//只要有一个为真
echo "真";
}else{
echo "假";
}
echo "<br>";
$a = 10;
$b = 12;
if($a != $b){
echo "不相等";
}else{
echo "相等";
}
echo "<br>";
?>
1.6、 三元运算符
序号 |
运算符 |
示例 |
描述 |
场景 |
1 |
?: |
$a ?: $b |
仅判断表达式true/false |
简化双分支 |
2 |
?? |
$a ?? $b |
判断变量存在且不为 null |
设置默认值 |
代码示例
<?php
$a=null;
echo isset($a) ? '$a='. "$a" : '$a不存在';
echo "<hr>";
$a=123;
echo isset($a) ?'$a='. "$a" : '$a不存在';
?>
1.7、 错误屏蔽符
运算符 |
示例 |
描述 |
场景 |
@ |
@(10/0) |
屏蔽所有运行错误 |
线上生产环境 |
2、流程控制
2.1、分支结构
序号 |
类型 |
语法 |
模板语法 |
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; |
代码实例
<?php
$a = 2;
$b = 3;
if ($a>$b){
echo '$a'.'>'.'$b';
}elseif($a<$b){
echo '$a'.'<'.'$b';
}else{
echo'$a'.'='.'$b';
}
echo"<br>";
//模板语法
$a = 4;
$b = 3;
if ($a>$b):
echo '$a'.'>'.'$b';
elseif($a<$b):
echo '$a'.'<'.'$b';
else:
echo'$a'.'='.'$b';
endif;
$date = date("F");
switch($date){
case "January" :
echo"一月";
break;
case "February " :
echo"二月";
break;
case "March" :
echo"三月";
break;
case "April" :
echo"四月";
break;
case "May" :
echo"五月";
break;
}
//模板语法
switch($date):
case "January" :
echo"一月";
break;
case "February " :
echo"二月";
break;
case "March" :
echo"三月";
break;
case "April" :
echo"四月";
break;
case "May" :
echo"五月";
break;
endswitch
?>
2.2、 循环结构
序号 |
类型 |
语法 |
模板语法 |
1 |
入口判断型 |
while(){...} |
while(): ... endwhile; |
2 |
出口判断型 |
do {...} while(); |
do : ... while(); |
3 |
计数型 |
for(){...} |
for () : ... endfor; |
代码实例
<?php
for($i=0; $i<6; $i++ ){
for($j=0; $j<$i; $j++ ){
echo "*";
}
echo "<br>";
}
//模板语法
echo"<br>";
for($i=0; $i<5; $i++ ):
for($j=$i; $j<5; $j++ ):
echo "*";
endfor;
echo "<br>";
endfor
?>
循环控制关键字:
序号 |
关键字 |
描述 |
1 |
continue |
终止本次循环,提前进入下一轮 |
2 |
break |
跳出本层循环 |
学习总结
本节课我们学习了PHP基础知识————运算符与流程控制,通过本节课的学习对运算符和流程控制知识进行了巩固,记忆更加深刻。同时学到了一个新的知识点流程控制中的模板语法,这样有助于PHP与HTML进行混编。