有关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代码
Dec 06 PHP
谈谈新手如何学习PHP
Dec 14 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php与java通过socket通信的实现代码
Oct 21 PHP
php中static和const关键字用法分析
Dec 07 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
yii2多图上传组件的使用教程
May 10 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 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
初学CAKEPHP 基础教程
2009/11/02 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
测试php函数的方法
2013/11/13 PHP
PHP的Yii框架的基本使用示例
2015/08/21 PHP
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
Yii的Srbac插件用法详解
2016/07/14 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
jQuery实现的仿select功能代码
2015/08/19 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
学习Vue组件实例
2018/04/28 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
浅谈Javascript中的对象和继承
2019/04/19 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
Python下rrdtool模块的基本使用方法
2015/11/13 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
使用python实现抓取腾讯视频所有电影的爬虫
2019/04/15 Python
python 实现单例模式的5种方法
2020/09/23 Python
Python调用JavaScript代码的方法
2020/10/27 Python
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
小学少先队活动方案
2014/02/18 职场文书
学雷锋演讲稿
2014/03/04 职场文书
大学生英语演讲稿
2014/04/24 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
单位法人授权委托书范本
2014/10/09 职场文书