1.判断语句

判断语句用于调整程序语句的执行顺序,从而控制程序运行的流程。PHP 判断语句一共有两种,分别为:if 语句、switch 语句。
if 语句的语法结构,可以分为三种情况:if 结构、if-else 结构、elseif 结构。
if 结构语法格式:
if(条件){
相关代码;
}
if-else 结构语法格式:
if(条件){
相关代码1;
}
else{
相关代码2;
}
elseif 结构语法格式:
if(条件1){
相关代码1;
}
elseif(条件2){
相关代码2;
}
……
elseif(条件n){
相关代码n;
}
else{
相关代码n+1;
}
如果 “条件” 成立时,就执行 {} 花括号中的 “相关代码”。
switch 语句适用于根据多分支条件执行不同的动作。使用 switch 语句能使代码变得简洁,提高执行效率。


2.switch 判断语句

switch 语句语法格式:
switch(表达式){
case 结果1:
相关代码1;
break;
case 结果2:
相关代码2;
break;
……
case 结果n:
相关代码n;
break;
default:
默认代码;
}
如果 “表达式” 的值等于 “结果1” ,则执行 “相关代码1”;
否则如果 “表达式” 的值等于 “结果2” ,则执行 ”相关代码2” ,往后以此类推。
另外,如果 ”表达式” 的值与所有 case 的值都不能匹配,则执行 default 的 “默认代码” 。

3.运算符

运算符是用来对数据、变量和常量进行计算的符号。
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。

运算符可按照其能接受几个值来分组。

一元运算符只能接受一个值,例如 !(逻辑取反运算符)或 ++(递增运算符)。

二元运算符可接受两个值,例如熟悉的算术运算符 +(加)和 -(减),大多数 PHP 运算符都是这种。

最后是唯一的三元运算符 ? : ,可接受三个值;通常就简单称之为“三元运算符”(尽管称之为条件运算符可能更合适)。

PHP 常用运算符:
算术运算符
比较运算符
逻辑运算符
连接运算符
赋值运算符
递增递减运算符
三元运算符
错误抑制符

1、算术运算符
算术运算符是用来进行四则运算的符号。

PHP算术运算符:

运算符 说明 示例
+ 加法 $a + $b
- 负数、减法 -$a、$a-$b
* 乘法 $a * $b
/ 除法 $a / $b
% 求模(求余数) $a % $b
例子 名称 结果
+$a 标识 根据情况将 $a 转化为 int 或 float。
-$a 取反 $a 的负值。
$a + $b 加法 $a 和 $b 的和。
$a - $b 减法 $a 和 $b 的差。
$a * $b 乘法 $a 和 $b 的积。
$a / $b 除法 $a 除以 $b 的商。
$a % $b 取模 $a 除以 $b 的余数。
$a ** $b 求幂 $a 的 $b次方的值。

除法运算符总是返回浮点数。

只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。 整数除法可参考 intdiv()

取模运算符的操作数在运算之前都会转换成 int 。 浮点数取模可参考 fmod()

取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a % $b 的结果和 $a 的符号相同

第一章第三节 - 图1示例

  1. <?php
  2. header("content-type:text/html;charset=utf-8");
  3. $a = 10;
  4. $b = 7;
  5. $result = $a + $b;
  6. echo "加法:{$result}<br/><br/>";
  7. $result = $a - $b;
  8. echo "减法:{$result}<br/><br/>";
  9. $result = $a * $b;
  10. echo "乘法:{$result}<br/><br/>";
  11. $result = $a / $b;
  12. echo "除法:{$result}<br/><br/>";
  13. $result = $a % $b;
  14. echo "求模:{$result}<br/><br/>";

2、比较运算符
比较运算符用于比较两个变量值之间的大小关系。

PHP 比较运算符:

运算符 说明 示例
< 小于 $a<$b,若$a小于$b,则返回true
<= 小于等于 $a<=$b,若$a小于等于$b,则返回true
> 大于 $a>$b,若$a大于$b,则返回true
>= 大于等于 $a>=$b,若$a大于等于$b,则返回true
== 等于 $a==$b,若$a等于$b,则返回true
!= 不等于 $a!=$b,若$a不等于$b,则返回true
=== 全等 $a===$b,若$a等于$b,且类型不同,则返回true
!== 非全等 $a!==$b,若$a不等于$b,且类型不同,则返回true
<=> 组合比较符 $a<=>$b,若$a小于$b,则返回-1;若$a等于$b,则返回0;若$a大于$b,则返回1
?? 空合并符 $a??$b??$c,返回从左到右的第一个不为NULL的变量值
例子 名称 结果
$a == $b 等于 **true**
,如果类型转换后 $a 等于 $b。
$a === $b 全等 **true**
,如果 $a 等于 $b,并且它们的类型也相同。
$a != $b 不等 **true**
,如果类型转换后 $a 不等于 $b。
$a <> $b 不等 **true**
,如果类型转换后 $a 不等于 $b。
$a !== $b 不全等 **true**
,如果 $a 不等于 $b,或者它们的类型不同。
$a < $b 小与 **true**
,如果 $a 严格小于 $b。
$a > $b 大于 **true**
,如果 $a 严格大于 $b。
$a <= $b 小于等于 **true**
,如果 $a 小于或者等于 $b。
$a >= $b 大于等于 **true**
,如果 $a 大于或者等于 $b。
$a <=> $b 太空船运算符(组合比较符) 当$a小于、等于、大于 $b时 分别返回一个小于、等于、大于0的 int 值。

第一章第三节 - 图2示例

<?php
header("content-type:text/html;charset=utf-8");
$a = 30;
if($a < 20){
 echo "a 小于 20";
}
elseif($a > 20){
 echo "a 大于 20";
}
else{
 echo "a 等于 20";
}

注意:

==!=只比较值,不比较类型, 比如: 1 == "1" 结果为true

===!== 即比较值,也比较类型, 1=== "1"结果为false
3、逻辑运算符
逻辑运算符用于把语句连接成更加复杂的语句。
PHP逻辑运算符:

运算符 说明 示例
&& 逻辑与 $a && $b,当$a和$b都为true时,返回结果就为true
|| 逻辑或 $a || $b,当$a和$b有一个为true时,返回结果就为true
! 逻辑非 !$a,当$a为true时,!$a返回结果就为false
例子 名称
! $a Not(逻辑非) **true**
,如果 $a 不为 **true**
$a && $b And(逻辑与) **true**
,如果 $a 和 $b 都为 **true**
$a || $b Or(逻辑或) **true**
,如果 $a 或 $b 任一为 **true**

第一章第三节 - 图3示例

<?php
header("content-type:text/html;charset=utf-8");
$age=10;
$sex="男";
if($age<20&&$sex=="男"){
echo"小男孩";
}
else{
echo"未知";
}

逻辑运算符具有短路特性:

&& 逻辑与短路: 当多个表达式逻辑与时,如果第一个表达式为假,那该表达式后的表达式短路处理

|| 逻辑或短路: 当多个表达式逻辑或时,如果第一个表达式为真,那该表达式后的表达式短路处理

4、连接运算符
连接运算符用于将两个或两个以上的字符串进行连接,组合成一个新的字符串。
PHP连接运算符:

运算符 说明 示例
. 连接运算符 $a.$b,将$a和$b连接成一个全新的字符串

5. 字符串连接运算符

运算符 说明 示例
. 连接运算符 第一章第三节 - 图4b,将第一章第三节 - 图5b连接成一个全新的字符串

如果连接字符串时,第一个运算数不是字符串,那么 连接符两边都要有空格,否则会报错
第一章第三节 - 图6示例

<?php
header("content-type:text/html;charset=utf-8");
$userName="小明";
$age=15;
echo$userName."的年龄为:".$age;

5、赋值运算符
赋值运算符用于实现变量的赋值操作。
PHP赋值运算符:

运算符 说明 示例
= 赋值 $a=10,将数据10赋给$a变量
+= $a += 3,等价于$a = $a + 3
-= $a -= 3,等价于$a = $a – 3
*= $a = 3,等价于$a = $a 3
/= $a /= 3,等价于$a = $a / 3
%= 求模 $a %= 3,等价于$a = $a % 3
.= 连接 $a .= $b,等价于$a = $a . $b
运算符 说明 示例
= 赋值 第一章第三节 - 图7a变量
+= 第一章第三节 - 图8a = $a + 3
-= 第一章第三节 - 图9a = $a – 3
*= 第一章第三节 - 图10a = $a * 3
/= 第一章第三节 - 图11a = $a / 3
%= 求模 第一章第三节 - 图12a = $a % 3
.= 连接 $a .= 第一章第三节 - 图13a = $a . $b

注意: 复合赋值运算符是一种简写形式,但是是一种独立的运算符,功能相当于展开形式,但实际计算并不展开.优先级比同功能运算符低.
第一章第三节 - 图14示例

<?php
header("content-type:text/html;charset=utf-8");
$a=10;
$a+=20;
echo"a变量的值为:{$a}";

6、递增递减运算符
递增递减运算符用于控制变量在原有值基础上加 1 或减 1。
PHP 递增递减运算符:

运算符 说明 示例
++$a 前置递增 $a = 5;
echo ++$a;
表示变量$a先加1,然后再返回结果值,显示结果为6
—$a 前置递减 $a = 5;
echo —$a;
表示变量$a先减1,然后再返回结果值,显示结果为4
$a++ 后置递增 $a = 5;
echo $a++;
表示先返回变量$a的值,然后再加1,显示结果为5
$a— 后置递减 $a = 5;
echo $a—;
表示先返回变量$a的值,然后再减1,显示结果为5
例子 名称 效果
++$a 前加 $a 的值加一,然后返回 $a。
$a++ 后加 返回 $a,然后将 $a 的值加一。
—$a 前减 $a 的值减一, 然后返回 $a。
$a— 后减 返回 $a,然后将 $a 的值减一。

$a++ / $a— : 先用 a 值 , 后进行运算

++第一章第三节 - 图15a : 先进行运算,后使用计算后的 a 值

i++ , 先用后加

++i, 先加后用
第一章第三节 - 图16示例

<?php
header("content-type:text/html;charset=utf-8");
$age=10;
echo++$age;

7、三元运算符
三元运算符用于实现简单的逻辑判断。
语法格式:
表达式1 ? 表达式2 : 表达式3
如果 “表达式1” 成立,则执行 “表达式2” ,否则执行 “表达式3”。
// 因为是运算符,所以是 cpu 直接加载运算的, 执行效率快. 简单的判断应用较多

// if 结构,是语言中的一种结构语法,由解释器执行,速度慢,, if 更直观,适用复杂结构的条件
第一章第三节 - 图17示例

<?php
header("content-type:text/html;charset=utf-8");
$age=15;
$msg=$age>=18?"成年人":"未成年";
echo$msg;

8、错误抑制符
错误抑制符“@”,用于忽略表达式的错误信息。
语法格式:
@表达式
第一章第三节 - 图18示例

<?php
header("content-type:text/html;charset=utf-8");
$a= @(5/0);
echo$a;

PHP运算符优先级:

优先级由高到低 运算符
1 ++、—、@
2 !
3 *、/、%
4 +、-
5 <、<=、>、>=
6 ==、!=、===、!==
7 &&、||
8 ??、?:
9 =、+=、-=、*=、/=、%=、.=

4.isset()函数

isset() 函数用于检测变量是否有值,而并非 NULL。
语法格式:
bool isset($变量 , $变量…)
第一章第三节 - 图19示例

<?php
header("content-type:text/html;charset=utf-8");
$userName="张小明";
if(isset($userName)){
echo"姓名为:{$userName}";
}
else{
echo"userName变量没有值";
}

5.empty()函数

empty() 函数用于检查一个变量是否为空。
语法格式:
bool empty($变量)
第一章第三节 - 图20示例

<?php
header("content-type:text/html;charset=utf-8");
$userName="张小明";
if(empty($userName)){
echo"userName变量没有值";
}
else{
echo"姓名为:{$userName}";
}

补充:

流程控制

任何 PHP 脚本都是由一系列语句构成的。

一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。

语句通常以分号结束。

此外,还可以用花括号将一组语句封装成一个语句组。

语句组本身可以当作是一行语句。