# 运算符
* * * * *
Table of Contents
1. 运算符优先级
2. 算术运算符
3. 赋值运算符
4. 位运算符
5. 比较运算符
6. 错误控制运算符
7. 执行运算符
8. 递增/递减运算符
9. 逻辑运算符
10. 字符串运算符
11. 数组运算符
12. 类型运算符
> 运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。
* * * * *
**运算符优先级**
| 无 | clone new | clone 和 new |
| --- | --- | --- |
| 左 | [ | array() |
| 右 | ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 类型和递增/递减 |
| 无 | instanceof | 类型 |
| 右 | ! | 逻辑运算符 |
| 左 | * / % | 算术运算符 |
| 左 | + - . | 算术运算符和字符串运算符 |
| 左 | << >> | 位运算符 |
| 无 | == != === !== <> | 比较运算符 |
| 左 | & | 位运算符和引用 |
| 左 | ^ | 位运算符 |
| 左 | \| | 位运算符 |
| 左 | && | 逻辑运算符 |
| 左 | \|\| | 逻辑运算符 |
| 左 | ? : | 三元运算符 |
| 右 | = += -= *= /= .= %= &= |= ^= <<= >>= => | 赋值运算符 |
| 左 | and | 逻辑运算符 |
| 左 | xor | 逻辑运算符 |
| 左 | or | 逻辑运算符 |
| 左 | , | 多处用到 |
* * * * *
**算术运算符**
~~~
echo ( 5 % 3 ). "\n" ; // prints 2
echo ( 5 % - 3 ). "\n" ; // prints 2
echo (- 5 % 3 ). "\n" ; // prints -2
echo (- 5 % - 3 ). "\n" ; // prints -2
~~~
**赋值运算符**
~~~
$a = ( $b = 4 ) + 5 ; // $a 现在成了 9,而 $b 成了 4。
~~~
**位运算符**
~~~
echo 12 ^ 9 ; // Outputs '5'
echo "12" ^ "9" ; // Outputs the Backspace character (ascii 8)
// ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
echo "hallo" ^ "hello" ; // Outputs the ascii values #0 #4 #0 #0 #0
// 'a' ^ 'e' = #4
echo 2 ^ "3" ; // Outputs 1
// 2 ^ ((int)"3") == 1
echo "2" ^ 3 ; // Outputs 1
// ((int)"2") ^ 3 == 1
~~~
**比较运算符**
~~~
var_dump ( 0 == "a" ); // 0 == 0 -> true
var_dump ( "1" == "01" ); // 1 == 1 -> true
var_dump ( "10" == "1e1" ); // 10 == 10 -> true
var_dump ( 100 == "1e2" ); // 100 == 100 -> true
switch ( "a" ) {
case 0 :
echo "0" ;
break;
case "a" : // never reached because "a" is already matched with 0
echo "a" ;
break;
}
~~~
**错误控制运算符**
~~~
/* Intentional file error */
$my_file = @ file ( 'non_existent_file' ) or
die ( "Failed opening file: error was ' $php_errormsg '" );
~~~
**执行运算符**
~~~
$output = ` ls -al `;
echo "<pre> $output </pre>" ;
~~~
**递增/递减运算符**
**逻辑运算符**
~~~
$a = ( false && foo ());
$b = ( true || foo ());
$c = ( false and foo ());
$d = ( true or foo ());
~~~
**字符串运算符**
~~~
$a = "Hello " ;
$b = $a . "World!" ; // now $b contains "Hello World!"
$a = "Hello " ;
$a .= "World!" ; // now $a contains "Hello World!"
~~~
**数组运算符**
~~~
$a = array( "a" => "apple" , "b" => "banana" );
$b = array( "a" => "pear" , "b" => "strawberry" , "c" => "cherry" );
$c = $a + $b ; // Union of $a and $b
echo "Union of \$a and \$b: \n" ;
var_dump ( $c );
$c = $b + $a ; // Union of $b and $a
echo "Union of \$b and \$a: \n" ;
var_dump ( $c );
~~~
**类型运算符**
~~~
class MyClass
{
}
class NotMyClass
{
}
$a = new MyClass ;
var_dump ( $a instanceof MyClass );
var_dump ( $a instanceof NotMyClass );
~~~
- 序言
- 基础
- 介绍
- 环境安装
- Hello Word
- 类型
- 运算符
- 流程控制
- 函数
- 类与对象
- 常量
- 命名空间
- static静态属性与静态方法
- 内置函数
- 自定义函数
- 时间
- 日期
- IP
- 百度地图经纬度
- 跳转
- 编码处理
- 随机字符串
- 字符串加密
- 字符串截取
- 获取文件扩展名
- Base64
- Crypt
- Des
- Hmac
- Rsa
- Xxtea
- 文件
- 获取团队人数
- 实用类
- Database
- Thinkphp date
- QQ登录
- Curl模拟Http工具类
- Date
- Http类
- Verify
- Upload类
- PHPExcel类
- IpLocation类
- Image类
- 阿里云短信发送
- WechatApi
- WeixinPay
- 常用实例
- 简单上传预览
- 无限分类数据树形格式化
- 获取客户端信息
- 根据经纬度获地址相关信息
- PHP源代码加密
- PHP采集
- PHP采集二
- PHP实现域名授权的两种方法
- 汉字转拼音类
- Email邮箱发送
- 文件加密
- 下载远程图片到本地
- Token
- 微信扫码登录
- 判断访问终端是否是微信浏览器
- 生成随机数
- 正则
- 1、正则表达式介绍
- 2、正则表达式的语法规则
- 2.1普通转义字符
- 2.2 字符类(字符集)和范围
- 2.3 重复匹配
- 2.4 开始或结尾
- 2.5 元字符“.”
- 2.6 选择符
- 2.8 匹配特殊字符
- 2.9 模式匹配的顺序
- 2.10 模式修正符(Pattern Modifiers)
- 3、PHP中的正则表达式相关函数
- 4、PHP字符串操作相关内置函数
- 常用正则表达式汇总
- 使用POSIX兼容规则的函数
- 正则常用实例
- 验证手机号码
- 身份证验证大全
- Mysql
- PHP操作Mysql
- PHP连接数据库基本操作
- 数据库操作语句
- 备份代码
- MyISAM与InnoDB
- 一、表锁差异
- 二、数据库文件差异
- 三、索引差异
- 四、开发的注意事项
- 五、究竟该怎么选择
- 六、重复地总结一遍
- 七、性能对比
- 八、总结
- 导入导出sql文件
- 开发工具
- PhpStorm(推荐)
- sublime text 3
- 快捷键汇总
- 插件说明
- 激活码
- 扩展阅读
- Sublime Text 2
- 配置文件详解
- Navicat(数据库)
- Screen to Gif
- MindMaster
- 微信公众号
- 微信登录
- 微信浏览器登录
- 网页授权登录
- 微信公众平台接口调试工具
- 获取access_token
- 获取素材列表
- 获取素材总数
- 获取access_token接口
- 微信用户扫码关注
- 获取access_token
- 生成带参数二维码
- 微信开发之接收事件推送
- 服务器配置
- 获取UnionID
- 微信开放平台绑定公众号
- 微信批量生成二维码并保存
- 下载微信头像和二维码
- 模版消息
- 未关注获取用户信息
- 自定义菜单创建接口
- 通过测试接口创建菜单
- 统一获取OPENID
- 全局返回码说明
- 微信提现功能(企业付款到用户零钱)
- 微信支付
- 场景介绍
- 案例介绍
- 开发步骤
- 获取用户ip指引
- demo
- 唤醒微信APP支付
- 统一下单代码
- web_url
- weixinpay类
- 常见问题
- 授权目录以及当前URL未注册的问题
- 微信的redirect_uri参数错误原因分析
- NaNget_brand_wcpay_request
- 申请退款
- 企业付款到零钱
- 现金红包
- 支付宝支付
- 前提条件
- 手机网站支付DEMO
- 异步通知
- 同步通知
- Alipay SDK for PHP
- PHP SDK 集成示例
- 扩展库
- APP支付
- 产品介绍
- 快速接入
- 客户端DEMO&SDK
- 服务端 DEMO & SDK
- 常见错误
- 使用OpenSSL工具生成密钥
- 生成 RSA 密钥
- 普通公钥方式
- 公钥证书方式
- 相关阅读
- 小程序
- 获取不到 unionid
- 小程序支付
- 服务器维护
- Linux
- Thinkphp5.1 创建定时任务
- Windows
- 常见问题
- 编码问题
- Scope参数错误或没有Scope权限解决方法
- 500 Internal Server Error
- 扩展知识
- 堆栈
- 栈的基本操作
- 容器和依赖注入
- PHP程序员如何理解IoC/DI
- php常见术语
- Win10下安装CentOS 7双系统
- PHP中静态方法和实例化方法的区别
- 用户变量和系统变量
- 使用精选文章
- composer使用
- redis
- PHP The Right Way
- 各种版本区别
- 如何设计短信验证码防刷机制
- 阿里云搭建SVN服务器
- 大型网站技术架构
- 阿里云购买免费证书
- 阿里云在Apache服务器上安装SSL证书
- https证书、搭建https网站
- 服务器缺少中间证书
- 附录
- 版本及缩写
- 干货收藏