有关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的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP 和 MySQL 开发的 8 个技巧
Jan 02 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 PHP
php 变量定义方法
Jun 14 PHP
php与mysql建立连接并执行SQL语句的代码
Jul 04 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
Jun 19 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
php自动载入类用法实例分析
Jun 24 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
php微信支付之公众号支付功能
May 30 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
新浪新闻小偷
2006/10/09 PHP
php仿ZOL分页类代码
2008/10/02 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php set_include_path函数设置 include_path 配置选项
2016/10/30 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
Canvas实现放射线动画效果
2017/02/15 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
python list转dict示例分享
2014/01/28 Python
Python简单实现的代理服务器端口映射功能示例
2018/04/08 Python
python检测主机的连通性并记录到文件的实例
2018/06/21 Python
详解pandas.DataFrame中删除包涵特定字符串所在的行
2019/04/04 Python
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
新东网科技Java笔试题
2012/07/13 面试题
机电一体化专业应届本科生求职信
2013/09/27 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
专家推荐信模板
2014/05/09 职场文书
宣传普通话标语
2014/06/27 职场文书
股东合作协议书
2014/09/12 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
话题作文之呼唤
2019/12/18 职场文书