php 运算符与表达式详细介绍


Posted in PHP onNovember 30, 2016

php 运算符与表达式

一、运算符的分类

1、按操作数分类

1.!true // 一元运算符
2.$a+$b // 二元运算符
3.true ? 1:0 // 三元运算符

2、按操功能分类

(1)算术运算符
1.+、-、x、/、%(取余)

(2)字符串运算符
1..  // 例如:$a = 'abc'.'efg';

(3)赋值运算符

1.= // 简单赋值
2.+=、-=、X=、/=、%=、.= // 复合赋值
3.++($a++、++$a)、 --($a--、--$a) // 递增递减
4.&($a = 1;$b = &a) // 引用赋值

(4)比较运算符

1.==、 ===(恒等于)、 !=、 !===、 <>(不等于)、 <、 >、 <=、 >=

(5)逻辑运算符
1.// 括号内的比括号外的优先级高
2.&&(and)、 ||(or)、 !(not)、 xor(异或)、

(6)位运算符
1.&(按位与)、 |(按位或)、 ~(按位非)、 ^(按位异或)、 <<(左位移)、 >>(右位移)

二、算术运算符

%取余,常见用法:1)整除运算 2)控制取值范围

实例:判断是否为闰年(四年一闰,百年不闰,四百年再闰)

// %会把两边的数转成整型后在整除
// %两边不能用小数或负数
if ((($year%4 == 0) && ($year%100 != 0)) || $year%400 == 0)
echo "闰年";
else
echo "平年";

三、赋值运算符

//先自身加10,然后赋值给自己,等价于 $a=$a+10
$a += 10;
 
//前置递增递减,先递增递减再赋值
++$a

//先赋值,再递增递减
$a++ 
//实例
$a = 10;
$b = $a++
$c = --$b
结果:a=11 b=9 c=9

四、逻辑运算符

xor异或:相同为假(两个真或两个假=假),不同为真(一真一假=假)
Tips:注意与or区别,or两个真=真
逻辑运算符短路
1、&& //一个为假,则后面不作运算,一定为假
2、|| //一个为真,则后面不作运算,一定为真

fopen ("test.php","r") or die("失败");

Tips:为运算符 & | 没有短路特性

五、位运算符

位操作:将整型转为32位二进制,字符串转为ANSCA码来处理

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
杏林同学录(九)
Oct 09 PHP
服务器端解压缩zip的脚本
Dec 22 PHP
不重新编译PHP为php增加openssl模块的方法
Jun 14 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 PHP
CI框架集成Smarty的方法分析
May 17 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
PHP AjaxForm提交图片上传并显示图片源码
Nov 29 #PHP
php判断是否为ajax请求的方法
Nov 29 #PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 #PHP
php获取开始与结束日期之间所有日期的方法
Nov 29 #PHP
PHP精确计算功能示例
Nov 29 #PHP
PHP 搜索查询功能实现
Nov 29 #PHP
php Session无效分析资料整理
Nov 29 #PHP
You might like
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
2016/03/09 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
PHP实现简单日历类编写
2020/08/28 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
js判断60秒以及倒计时示例代码
2014/01/24 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
MVVM 双向绑定的实现代码
2018/06/21 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
Node.js模拟发起http请求从异步转同步的5种用法
2018/09/26 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
2015/04/05 Python
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
python requests post多层字典的方法
2018/12/27 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Django model update的多种用法介绍
2020/03/28 Python
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
配置管理计划的主要内容有哪些
2014/06/20 面试题
介绍一些UNIX常用简单命令
2014/11/11 面试题
夜大毕业生自我评价分享
2013/11/10 职场文书
学生自我评价范文
2014/02/02 职场文书
收银员岗位职责
2014/02/07 职场文书
医院搬迁方案
2014/06/14 职场文书
教育专业毕业生推荐信
2014/07/10 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
一条 SQL 语句执行过程
2022/03/17 MySQL