问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PHP运算符与流程控制详解

创作时间:
作者:
@小白创作中心

PHP运算符与流程控制详解

引用
CSDN
1.
https://blog.csdn.net/huaz_md/article/details/137519920

在PHP编程中,运算符和流程控制结构是两个非常重要的概念。运算符用于对数据进行各种运算,而流程控制结构则用于控制程序的执行流程。本文将详细介绍PHP中的各种运算符和流程控制结构,帮助读者更好地理解和掌握PHP编程。

运算符

运算符是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多。

赋值运算符

赋值运算符符号是=,表示将右边的结果(可以是变量、数据、常量和其它运算出来的结果),保存到内存的某个位置,然后将位置的内存地址赋值给左侧的变量(常量)。

算术运算符

+    执行数据累加
-    数据相减
*    键盘上没有乘法符号,使用*代替,两个数相乘
/    正斜杠代替,表示两个数相除
%    取余(模)运算,两个数(整数)相除,保留余数

在进行除法运算或者取余运算的时候,对应的除数(第二个数)不能为0。

比较运算符

>  左边大于右边,返回结果true
>= 左边大于等于右边
<  左边小于右边
<= 左边小于或者等于右边
== 左边的与右边的相同(数值大小相同)
!=  左边的与右边的不同(数值大小不同)
===  全等于,左边与右边相同:大小以及数据的类型都要相同
!==   不全等于,只有大小或者类型不同

逻辑运算符


&&  逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
||  逻辑或,左边的条件或者右边的条件只要有一个满足即可
!  逻辑非,对已有条件进行取反,本身为true,取反结果就是false

连接运算符

.  将两个字符串连接到一起
.=    复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量
eg:
A .= b  =====  A = A . b

错误抑制符

在PHP中有一些错误可以提前预知,但是这些错误可能无法避免,但是又不希望报错给用户看,可以使用错误抑制符处理。

@   在可能出错的表达式前面使用@符号即可

错误抑制符通常在生产环境(上线)会用到,在开发的时候不会用:系统本身最好没有任何错误。

三目运算符

三目运算:有三个表达式参与的运算(简单的的分支结构缩写)

返回值 = 表达式1 ? 表达式2 :表达式3;
运算:如果表达式1成立,那么执行表达式2,否则执行表达式3;
注意:如果表达式本身比较复杂,建议使用括号包起来。

自操作运算符

自操作:自己操作自己的运算符

++   在原来的值上+1
--   在原来的值上-1
+=  左边的结果与右边结果相加,然后赋值给左边
-=  左边的减去右边的结果,然后复制给左边
*=  乘法操作
/=  除法操作
%=  模操作
$a = 1;
$a++; // $a = $a + 1;

位运算符

位运算:取出计算机中最小的单位(位bit)进行运算

&  按位与,两个位都为1,结果为1,否则为0
|  按位或,两个有一个为1,结果为1
~  按位非,一个位如果为1则变成0,否则反之

系统进行任何位运算的时候都是使用的都是补码

运算结束之后都必须转换成原码才是最终要显示的数据

^   按位异或,两个相同则为0,不同则为1
<<  按位左移,整个位(32位),向左移动一位,右边补0
>>  按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)

运算符优先级

运算符优先级决定了在表达式中多个运算符的计算顺序。优先级高的运算符会先于优先级低的运算符进行计算。例如,乘法运算符*的优先级高于加法运算符+,因此在表达式3 + 4 * 5中,4 * 5会先于3 +进行计算。

运算符优先级从高到低的顺序大致如下:

  1. 括号 ()
  2. 一元运算符 ++, --, +, -, !, ~
  3. 乘除模运算 *, /, %
  4. 加减运算 +, -
  5. 位移运算 <<, >>
  6. 关系运算 <, >, <=, >=
  7. 相等运算 ==, !=, ===, !==
  8. 位与运算 &
  9. 位或运算 |
  10. 逻辑与运算 &&
  11. 逻辑或运算 ||
  12. 三元运算 ?:
  13. 赋值运算 =, +=, -=

在编写复杂的表达式时,合理使用括号可以明确指定运算顺序,避免因优先级问题导致的错误。

流程控制

流程控制结构用于控制程序的执行流程,主要包括顺序结构、分支结构和循环结构。

顺序结构

顺序结构是最基本的结构,所有代码默认都是从上往下依次执行。

分支结构

分支结构根据给定的条件,选择执行不同的代码块。PHP中主要有两种分支结构:if分支和switch分支。

if分支

if分支是最常用的分支结构,可以根据条件判断执行不同的代码块。其基本语法如下:

if (条件) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

switch分支

switch分支用于处理多分支选择的情况。其基本语法如下:

switch (表达式) {
    case 值1:
        // 表达式等于值1时执行的代码
        break;
    case 值2:
        // 表达式等于值2时执行的代码
        break;
    default:
        // 表达式不等于任何case值时执行的代码
}

循环结构

循环结构用于重复执行某段代码。PHP中主要有以下几种循环结构:

for循环

for循环是最常用的循环结构,可以指定循环的起始、终止和步进条件。其基本语法如下:

for (初始化; 条件; 步进) {
    // 循环体
}

while循环

while循环在条件为真时重复执行循环体。其基本语法如下:

while (条件) {
    // 循环体
}

do-while循环

do-while循环与while循环类似,但至少会执行一次循环体。其基本语法如下:

do {
    // 循环体
} while (条件);

foreach循环

foreach循环专门用于遍历数组。其基本语法如下:

foreach (数组 as $value) {
    // 循环体
}

或者

foreach (数组 as $key => $value) {
    // 循环体
}

控制语句

在循环结构中,可以使用continuebreak语句来控制循环的执行流程。

continue

continue语句用于跳过当前循环的剩余部分,直接进入下一次循环。其基本语法如下:

for ($i = 0; $i < 10; $i++) {
    if ($i % 2 == 0) {
        continue;
    }
    echo $i;
}

break

break语句用于立即退出循环。其基本语法如下:

for ($i = 0; $i < 10; $i++) {
    if ($i == 5) {
        break;
    }
    echo $i;
}

此外,还可以使用breakcontinue的带参数形式来控制多层循环的执行流程。例如:

for ($i = 0; $i < 3; $i++) {
    for ($j = 0; $j < 3; $j++) {
        if ($i == 1 && $j == 1) {
            break 2; // 跳出两层循环
        }
        echo "$i $j\n";
    }
}

通过合理使用这些控制语句,可以更灵活地控制程序的执行流程。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号