IE盒子

搜索
查看: 190|回复: 1

PHP基础2:运算符

[复制链接]

3

主题

8

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2023-1-18 14:05:16 | 显示全部楼层 |阅读模式
运算符

PHP中一共有十多种运算符
赋值运算符

符号是“=”,表示将右面的结果(可以是变量、数据、常量等),保存到内存的某一个位置,然后将位置的内存地址赋值给左侧的变量(常量)
算数运算符

加(+),减(-),乘(*),除(/),取余(%)(两整数相除取余)
在进行除法运算或者取余运算的时候,对应的被除数不能为0
比较运算符

比较两个数据的大小,满足返回true,不满足返回false
$\gt$
$\gt$=
<
<=
==等于,大小相同
!= 不等于,大小不同
===全等于。大小和数据类型都要相同
!==不全等于。大小和类型任一不同就是不全等于
逻辑运算符

针对不同的结果进行匹配
&& 逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
||  逻辑或,左右两边条件成立其一
!   逻辑非,对已有的条件进行取反,本身为true,取反则为false
$a='weekend';
$b='goods';
// 逻辑与
var_dump($a =='weekend' && $b =='good');
// 逻辑或
var_dump($a =='weekend' || $b =='good');
// 逻辑非
var_dump($b =='good');
var_dump(!($b =='good'));
逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式,在书写代码时,尽量将出现概率高的表达式放到第一位
连接运算符

PHP中将多个字符串拼接的一种符号
. :将两个字符串连接到一起
.= :复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量a.=b
$a='weekend';
$b='goods';
echo $a.$b,'<br/>';//将a变量和b变量连接起来
$a .=$b
echo $a;
错误抑制符

在PHP中有一些错误可以提前预知且无法避免,但是又不希望报错给用户看,可以使用错误抑制符处理
@:在可能出错的表达式前面使用此符号
$a= 10;
$b= 0;
$a % $b;
@($a%$b);//错误抑制不会报错
错误抑制符通常在生产环境(上线) 会用到
三目运算符

有三个表达式参与的运算(分支结构的缩写)
格式:
表达式1 ?表达式2 :表达式3;
运算:如果表达式1成立,那么执行表达式2,否则执行表达式3
表达式如果较复杂,可以用括号包起来
$a =10;
$b = $a > 10 ? 100 : 0;
echo $b;
三目运算可以复合进行三目运算,三目运算中的表达式2和3也可以是三目运算,但是要用括号包起来(套娃)
自操作运算符

自加(++):在原来的值上加1
自减(--):在原来的值上减1
参考C语言笔记



pSMbEZR.png

$a=$b=1;
++$a;//前置运算
$b++;//后置运算
echo $a,$b;//独立操作,前置运算和后置运算结果一样
echo'<hr/>';
echo $a++,++$b;//不知独立运算,还有输出,此时则有区别
衍生符号:左边的结果与右边的结果相加,然后赋值给左边
+=
-=
*=
/=
%=
注意:右边是一个整体
$a -= $b-1相当于$a= $a-($b-1)
位运算符

计算机码

计算机在实际存储数据的时候,采用的补码规则(二进制规则),数值本身最左边一位是符号位,正数为0,负数为1

  • 原码:数据本身从十进制转二进制得到的结果
  • 反码:针对负数,符号位不变,其他位取反,0变1,1变0
  • 补码:针对负数,反码+1
正数的三码相同
系统中存在两个0:+0,-0
+0:00000000
-0:10000000   原码
取反11111111
补码00000000
位运算符

取出计算机中最小的单位(位bit)进行运算
&:按位与,两个位都为1,结果为1,否则为0
|:按位或,两个有一个为1,结果为1
$a =5
$b=-5



pSMv1OS.png

注意:

  • 系统进行任何位运算的时候都是使用的补码
  • 运算结束之后都必须转换成原码才是最终要显示的数据

~:按位非,一个位如果为1则变成0,否则反之
^:按位异或,两个相同则为0,不同则为1



pSMzmxP.png

<<:按位左移,整个位(32位),向左移动一位,右边补0
$\gt$$\gt$:按位右移,整个位向右移动一位,左边补符号位对应内容(正数补0,负数补1)



pSMzuKf.png

按位左移:乘2
按位右移:除2(不完全正确),整数除以2有可能会出现小数
运算符优先级





pSMzdqU.png
回复

使用道具 举报

3

主题

9

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2025-6-17 09:25:04 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表