有关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 内存缓存加速功能memcached安装与用法
Sep 03 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
php下批量挂马和批量清马代码
Feb 27 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
Aug 10 PHP
php数据类型判断函数有哪些
Sep 23 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
PHP应用跨时区功能的实现方法
Mar 21 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
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
php简单日历函数
2015/10/28 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python实现猜数字小游戏
2020/03/24 Python
Python3+Appium安装使用教程
2019/07/05 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
python 发送邮件的四种方法汇总
2020/12/02 Python
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
人事主管岗位职责
2014/01/30 职场文书
高级工程师英文求职信
2014/03/19 职场文书
就业推荐表自我鉴定
2014/03/21 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
个人委托书范文
2015/01/28 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
个人向公司借款协议书
2016/03/19 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技