设为首页
收藏本站
切换到窄版
登录
立即注册
找回密码
搜索
搜索
本版
帖子
用户
快捷导航
论坛
BBS
C语言
C++
NET
JAVA
PHP
易语言
数据库
IE盒子
»
论坛
›
IE盒子
›
PHP
›
PHP基础2:运算符
返回列表
发帖
查看:
190
|
回复:
1
PHP基础2:运算符
[复制链接]
寂水无澜
寂水无澜
当前离线
积分
14
3
主题
8
帖子
14
积分
新手上路
新手上路, 积分 14, 距离下一级还需 36 积分
新手上路, 积分 14, 距离下一级还需 36 积分
积分
14
发消息
发表于 2023-1-18 14:05:16
|
显示全部楼层
|
阅读模式
运算符
PHP中一共有十多种运算符
赋值运算符
符号是“=”,表示将右面的结果(可以是变量、数据、常量等),保存到内存的某一个位置,然后将位置的内存地址赋值给左侧的变量(常量)
算数运算符
加(+),减(-),乘(*),除(/),取余(%)(两整数相除取余)
在进行除法运算或者取余运算的时候,对应的被除数不能为0
比较运算符
比较两个数据的大小,满足返回true,不满足返回false
$\gt$
$\gt$=
<
<=
==等于,大小相同
!= 不等于,大小不同
===全等于。大小和数据类型都要相同
!==不全等于。大小和类型任一不同就是不全等于
逻辑运算符
针对不同的结果进行匹配
&& 逻辑与,左边的条件与右边的条件同时成立(两边结果都为true)
|| 逻辑或,左右两边条件成立其一
! 逻辑非,对已有的条件进行取反,本身为true,取反则为false
$a=&#39;weekend&#39;;
$b=&#39;goods&#39;;
// 逻辑与
var_dump($a ==&#39;weekend&#39; && $b ==&#39;good&#39;);
// 逻辑或
var_dump($a ==&#39;weekend&#39; || $b ==&#39;good&#39;);
// 逻辑非
var_dump($b ==&#39;good&#39;);
var_dump(!($b ==&#39;good&#39;));
逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式,在书写代码时,尽量将出现概率高的表达式放到第一位
连接运算符
PHP中将多个字符串拼接的一种符号
. :将两个字符串连接到一起
.= :复合运算,将左边的内容与右边的内容连接起来,然后重新赋值给左边变量a.=b
$a=&#39;weekend&#39;;
$b=&#39;goods&#39;;
echo $a.$b,&#39;<br/>&#39;;//将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&#39;<hr/>&#39;;
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
回复
使用道具
举报
黄伦
黄伦
当前离线
积分
18
3
主题
9
帖子
18
积分
新手上路
新手上路, 积分 18, 距离下一级还需 32 积分
新手上路, 积分 18, 距离下一级还需 32 积分
积分
18
发消息
发表于 2025-6-17 09:25:04
|
显示全部楼层
顶
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表