流程控制
    任何PHP脚本都是由一系列语句构成。
    一天语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句,或甚至是一个什么也不做的语句(空语句)。
    语句通常以分号结尾。
    此外,还可以用花括号将一组语句封装成一个语句组。
    语句组本身可以当做是一行语句。
    1,运算符
    运算符是可以通过给出的一个或多个值(用编程行话说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。
    运算符可按照其能接受的值来分组。
    一元运算符只能接受一个值,例如!(逻辑取反运算符)或++(自增运算符)。
    二元运算符可接受两个值,例如熟悉的算术运算符+、-、大多数PHP运算符都是这种、
    三元运算符可以接受三个值,通常就简称为三元运算符(尽管称之为条件运算符可能更合适)。
    2,算数运算符

    例子 名称 结果
    +$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的符号相同。
    3,关系比较运算符

    例子 名称 结果
    $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 值。

    等于和全等的区别
    自己猜去
    4,逻辑运算符

    例子 名称
    ! $a Not(逻辑非) **true**
    ,如果 $a 不为 **true**
    $a && $b And(逻辑与) **true**
    ,如果 $a 和 $b 都为 **true**
    $a || $b Or(逻辑或) **true**
    ,如果 $a 或 $b 任一为 **true**

    逻辑运算符的短路特性

    5,字符串拼接

    运算符 说明 示例
    . 连接运算符 学习PHP的第四天 - 图1b,将学习PHP的第四天 - 图2b连接成一个全新的字符串

    如果连接字符串时,第一个运算数不是字符串,那么连接符两边都要有空格,否则会报错。

    6,赋值/复合赋值运算符

    = 赋值 $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

    注意:复合赋值运算符是一种简写形式,但是是一种独立的运算符,功能相当于展开形式,但实际运算并不展开,优先级比同功能运算符低.
    7,递增递减运算符。

    例子 名称 效果
    ++$a 前加 $a 的值加一,然后返回 $a。
    $a++ 后加 返回 $a,然后将 $a 的值加一。
    —$a 前减 $a 的值减一, 然后返回 $a。
    $a— 后减 返回 $a,然后将 $a 的值减一。

    $a++ / $a— : 先用 a 值 , 后进行运算
    ++$a / —$a : 先进行运算,后使用计算后的 a 值
    i++ , 先用后加
    ++i, 先加后用

    8,条件运算符
    如果“表达式1成立”则执行表达式二,否则执行表达式三
    因为是运算符所以CPU是直接加载运算的,执行效率快。简单的判断应用较多。
    if 结构是语言中的一种解构语法,有解释器质性,速度慢,if更直观,适用复杂结构的条件。
    9,错误抑制符
    /@表达式
    错误抑制符“@”用于忽略表达式的错误信息。

    10,运算符优先级

    优先级由高到低 运算符
    1 ++、—、@
    2 !
    3 、/、%, *
    4 +、-
    5 <、<=、>、>=
    6 ==、!=、===、!==
    7 &&、||
    8 ??、?:
    9 =、+=、-=、*=、/=、%=、.=
    结合方向 运算符 附加信息
    不适用 clonenew clone
    new
    ** 算术运算符
    不适用 +-++—~(int)(float)(string)(array)(object)(bool)@ 算术
    (一元 + 和 -), 递增/递减
    按位
    类型转换
    错误控制
    instanceof 类型
    不适用 ! 逻辑运算符
    */% 算术运算符
    +-. 算数
    (二元 + 和 -), array
    string
    (. PHP 8.0.0 前可用)
    <<>> 位运算符
    . string
    (PHP 8.0.0 起可用)
    <<=>>= 比较运算符
    ==!====!==<><=> 比较运算符
    & 位运算符
    引用
    ^ 位运算符
    | 位运算符
    && 逻辑运算符
    || 逻辑运算符
    ?? null 合并运算符
    无关联 ? : 三元运算符
    (PHP 8.0.0 之前左联)
    =+=-==*=/=.=%=&=|=^=<<=>>=??= 赋值运算符
    不适用 yield from yield from
    不适用 yield yield
    不适用 print print
    and 逻辑运算符
    xor 逻辑运算符
    or

    11,isset()函数

    1. isset(mixed $var, mixed $... = ?): bool

    检测变量是否已设置 并且非空
    12,empty()函数

    1. empty(mixed $var): bool

    检查一个变量是否为空
    判断一个变量是否被认为是空。当一个变量并不存在,或者它的值等同于false,那么他就会被认为不存在,如果变量不存在的话,empty()并不会产生警告。

    13分支语句 if
    对于分支语句我们并不陌生,几乎没一门语言中都会存在只是在书写语法上有些区别,但是实际更能差别不大。
    if会先进行表达式布尔求值,弱国表达式的值为true PHP将执行表达式一,如果值为false将执行else{}里面的。
    14,分支语句——Switch-case

    1. switch(表达式){
    2. case 结果1:
    3. 相关代码1;
    4. break;
    5. case 结果2:
    6. 相关代码2;
    7. break;
    8. ……
    9. case 结果n:
    10. 相关代码n;
    11. break;
    12. default:
    13. 默认代码;
    14. }

    如果“表达式”的值等于结果一,则执行相关代码1;
    否则如果表达式的值等于结果2,则执行相关代码2往后以此类推,
    另外,如果表达式的值与所有case的值都不能匹配这执行default 的默认代码。