有关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 相关文章推荐
在线短消息收发的程序,不用数据库
Oct 09 PHP
PHP 命令行参数详解及应用
May 18 PHP
PHP文件操作实现代码分享
Sep 01 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
php实现分页显示
Nov 03 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP中如何防止外部恶意提交调用ajax接口
Apr 11 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
Centos7 Yum安装PHP7.2流程教程详解
Jul 02 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
类似框架的js代码
2006/11/09 Javascript
jQuery的三种$()
2009/12/30 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
js图片轮播效果实现代码
2020/04/18 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
nodejs实现一个word文档解析器思路详解
2018/08/14 NodeJs
NodeJs实现简单的爬虫功能案例分析
2018/12/05 NodeJs
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
用node.js写一个jenkins发版脚本
2019/05/21 Javascript
一文看懂如何简单实现节流函数和防抖函数
2019/09/05 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
中药学自荐信
2014/06/15 职场文书
基层党员对照检查材料
2014/08/25 职场文书
法人委托书范本格式
2014/09/15 职场文书
总经理岗位职责
2015/02/04 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
行为规范主题班会
2015/08/13 职场文书
一年级语文教学随笔
2015/08/14 职场文书
Redis性能监控的实现
2021/07/09 Redis
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL