有关php运算符的知识大全


Posted in PHP onNovember 03, 2011

看似简单的东西,在实际运用中,还是很有意思的

算术运算符
运算符 名称 结果
$a + $b 加法 $a 和 $b 的和
$a - $b 减法 $a 和 $b 的差
$a * $b 乘法 $a 和 $b 的积
$a / $b 除法 $a 除以 $b 的商
$a % $b 取模 $a 除以 $b 的余数
递增/递减运算符
运算符 名称 结果
++$a  前加

$a 的值加一,然后进行操作
$a++ 后加

$a 的值先进行操作,后加一
--$a

前减

$a 的值减一,然后进行操作
$a--

后减

$a 的值先进行操作,后减一
实例:

<?php 
echo $a=5+”5th”; //输出:10 
echo 10%3; //输出:1 
echo 10+ $a++; //输出:20 
echo 5- --$a; //输出:-5 
?>

比较运算符
运算符 名称 结果
$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
另外一个条件运算符是“ ? : ”(或三元)运算符。
实例:
<?php 
var_dump(0=="a"); //输出:bool(true) 
var_dump(0=="00"); //输出:bool(true) 
var_dump(0==="00"); //输出:bool(false) 
var_dump(0<>"abc"); //输出:bool(false) 
var_dump(0!=="01"); //输出:bool(true) 
$a=10; 
$b=20; 
$str=$a>$b? "true":"false"; 
echo $str; //输出:false 
?>

逻辑运算符
运算符 名称 结果
$a and $b 逻辑与 TRUE,如果 $a 与 $b 都为 TRUE。
$a or $b 逻辑或 TRUE,如果 $a 或 $b 任一为TRUE。
$a xor $b 异或 TRUE,如果 $a 和 $b 不同时
! $a 逻辑非 TRUE,如果 $a 不为 TRUE。
$a && $b 逻辑与 TRUE,如果 $a 与 $b 都为TRUE。
$a || $b 逻辑或 TRUE,如果 $a 或 $b 任一为TRUE。
其中and与&& 、or与||是同一逻辑运算符的两种写法。
逻辑与和逻辑或 都是短路运算符。在遇到下列逻辑表达式时,PHP解释程序将不会计算右边的表达式: 
<?php 
$a=10; 
if(false && (++$a)); 
echo $a; //输出:10 
$b=10; 
if(true or (++$b)); 
echo $b; //输出:10 
?>

位运算符
位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的 ASCII 值。
表达式 名称 结果
$a & $b 按位与 将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b 按位或 将把 $a 或者 $b 中为 1 的位设为 1。
$a ^ $b 按位异或 将把 $a 和 $b 中不同的位设为 1。
~ $a 按位非 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b 左移 将 $a 中的位向左移动 $b 次(每一次 移动都表示“乘以 2”)。
$a >> $b 右移 将 $a 中的位向右移动 $b 次(每一次 移动都表示“除以 2”)。
其他运算符
字符串运算符
有两个字符串运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数后。
错误抑制操作符
在最常见的数据库连接与文件创建操作或出现除0等异常时,可以用@符号来抑制函数错误信息输出到浏览器端 $a=@(5/0)
外部命令执行
使用``来运行外部系统命令,注意不是单引号,是ESC下面那个按键
<?php 
$out=`dir c:`; 
print_r($out); 
?>//不建议使用

实例: 
<?php 
$a="hello"; 
$a.=" world! "; //等同于:$a=$a." world!"; 
echo $a; //输出:hello world! 
$m = 3; 
$m += 5; //等同于:$m=$m+5; 
echo $m; //输出:8 
$c = ($b = 4) + 5; 
echo $c; //输出:9 
?>

运算符优先级
下表从低到高列出了运算符的优先级。
结合方向 运算符
左 ,
左 or
左 xor
左 and
右 print
右 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
结合方向 运算符
左 |
左 ^
左 &
无 == != === !==
无 < <= > >=
左 << >>
左 + - .
左 * / %
右 ! ~ ++ -- (int) (float) (string) (array) (object) @
右 [
无 new
PHP 相关文章推荐
php md5下16位和32位的实现代码
Apr 09 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
Mar 24 PHP
PHP SQLite类
May 07 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
Jan 18 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
Jul 08 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
php简单处理XML数据的方法示例
May 19 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
PHP实现对数字分隔加千分号的方法
Mar 18 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
May 14 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 #PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 #PHP
PHP安全防范技巧分享
Nov 03 #PHP
防止本地用户用fsockopen DDOS攻击对策
Nov 02 #PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 #PHP
php数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
Nov 02 #PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
Nov 02 #PHP
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
解决laravel中日志权限莫名变成了root的问题
2019/10/17 PHP
jQuery1.6 使用方法二
2011/11/23 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
js QQ客服悬浮效果实现代码
2014/12/12 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
在Linux系统中搭建Node.js开发环境的简单步骤讲解
2016/01/26 Javascript
Javascript 函数的四种调用模式
2016/11/05 Javascript
JS三目运算(三元运算)方法详解
2017/03/01 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
详解python的数字类型变量与其方法
2016/11/20 Python
Python操作Excel之xlsx文件
2017/03/24 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
物业管理公司实习生自我鉴定
2013/09/19 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
护士求职简历自我评价
2015/03/10 职场文书
2015年试用期工作总结范文
2015/05/28 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
重温经典:乔布斯在斯坦福大学的毕业演讲(双语)
2019/08/26 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript