运算符
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 次方 |
$a++
=>$a = $a + 1
, $a--
=>$a = $a - 1
**
: 幂运算需要 php5.6+
版本
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'; |
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 的整数 |
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) |
屏蔽所有运行错误 |
线上生产环境 |
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
//1.单分支
$amount = 6000;
$payment =$amount;
if ($amount > 2500){
$payment = $amount * 0.9;
}
echo '实际支付:'. $payment .'元<br>';
//如果代码本只有一行可以省略大括号
// if ($amount > 2500) $payment = $amount * 0.9;
//有一种代替语法:模板语法,与HTML混编
// if ($amount > 2500):
// $payment = $amount * 0.9;
// endif;
//2双分支
if ($amount > 2500){
$payment = $amount * 0.9;
}else{
$payment = $amount;
}
echo '实际支付:'. $payment .'元<br>';
//3模板语法
// if ($amount > 2500) :
// $payment = $amount * 0.9;
// else :
// $payment = $amount;
// endif;
//4多分支
// if ($amount > 2500 && $amount < 5000){
// $payment = $amount * 0.9;
// }elseif ($amount >=5000){
// $payment = $amount * 0.85;
// }else{
// $payment = $amount;
// }
// echo '实际支付:'. $payment .'元<br>';
//模板语法
if ($amount > 2500 && $amount < 5000):
$payment = $amount * 0.9;
elseif ($amount >=5000):
$payment = $amount * 0.85;
else:
$payment = $amount;
endif;
echo '实际支付:'. $payment .'元<br>';
//5 switch
// switch (true) {
// case $amount > 2500 && $amount < 5000:
// $payment = $amount * 0.9;
// break;
// case $amount >=5000:
// $payment = $amount * 0.85;
// break;
// default:
// $payment = $amount;
// }
// echo '实际支付:'. $payment .'元<br>';
//模板语法
switch (true) :
case $amount > 2500 && $amount < 5000:
$payment = $amount * 0.9;
break;
case $amount >=5000:
$payment = $amount * 0.85;
break;
default:
$payment = $amount;
endswitch;
echo '实际支付:'. $payment .'元<br>';
//switch单值判断
$month = 2;
if (floor($month)==$month && $month>0 ) :
switch ($month) :
case $month >= 1 && $month<=3 :
echo '这是第一季度';
break;
case $month >=4 && $month<=6 :
echo '这是第二季度';
break;
case $month >=7 && $month<=9 :
echo '这是第三季度';
case $month >=10 && $month<=12 :
echo '这是第四季度';
default:
echo 'Are You Kidding Me ';
endswitch;
else:
echo 'Are You Kidding Me ';
endif;
2. 循环结构
序号 |
类型 |
语法 |
模板语法 |
1 |
入口判断型 |
while(){...} |
while(): ... endwhile; |
2 |
出口判断型 |
do {...} while(); |
do : ... while(); |
3 |
计数型 |
for(){...} |
for () : ... endfor; |
循环控制关键字:
序号 |
关键字 |
描述 |
1 |
continue |
终止本次循环,提前进入下一轮 |
2 |
break |
跳出本层循环 |
<?php
//循环
$cities = ['杭州','绍兴','上海','南京','温州'];
// current()获取数组当前值 next移动指针 reset 重置数组指针
//入口判断型
while ($city = current($cities)):
echo $city .' ';
next($cities);
endwhile;
echo '<hr>';
//出口判断型 不论条件是否为真,都要执行一遍do
$i=0;
do{
echo $cities[$i] .' ';
$i++;
}
while ($i < count($cities));
echo '<hr>';
//for循环
$cities = ['杭州','绍兴','','上海','南京',null,'温州'];
for ($i=0 ;$i<count($cities);$i++):
//continue`终止本次循环,提前进入下一轮
if (!$cities[$i]) continue;
echo $cities[$i].'<br>';
if ($cities[$i] === '上海') break;
endfor;
总结
1.学习了基本的运算符??
和<=>
需要记忆一下
2.学习了分支结构,循环结构和模板语法
Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:其实咱们学的很多语法 , 如?:, ?? , <=>, 都属于语法糖, 只不过是一些普通语法的简化罢了, 为什么简化呢, 因为常用
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!