php基础-运算符总结
2016-06-02 21:21
381 查看
运算符
1.算术运算符:1,他们都是针对数字进行的运算;2,如果他们的两边有不是数字的数据,就会(自动)转换为数字;3,其中取余运算(取模运算)%,它只针对“整数”进行运算,如果不是,会自动截取为整数。
11. 3 % 3 相当于 11 % 3;
11.8 % 3. 8 相当于 11 % 3;
自增自减运算符:
常规:对数字进行自加1或自减1。
字符串: 只能自增,且自增的效果就是“下一个字符”,其只能针对字母或数字进行自加,
布尔值递增递减无效
null递减无效,递增结果为1
独立的加价运算中,前自增和后自增效果一样;在有加加运算的其他语句中,i++是先做其他运算,然后对自己加1;++i是先对自己加1,然后做其他运算
2.比较运算符
符号:> >= < <= == != === !==
一般比较:是针对数字进行的大小比较,==和===比较:前者通常叫做模糊相等的比较,后者叫做精确相等的比较(只有数据的类型和数据的值/内容,都相等,才是全等的)
不要对浮点数直接进行大小比较
常见不同类型(标量类型)数据之间的比较规律:
如果比较的数据中,有布尔值,转为布尔值比较,布尔值比较只有一个规则:true>false,否则,如果有数字值,就转为数字值比较:这就是常规比较。否则,如果两边都是“纯数字字符串”,转为数字比较。否则,就按字符串比较。字符串比较的规则是:对两边的字符串,一个一个从前往后取出字符并进行比较,谁“先大”,结果就是它大。
“abc” > true //? false “abc” > false //true “0” > false //false 3 > “12”; //false 3 > “12abc”; //false “3” > “12” //false
“abc” > “c”; //false,后者大 “abc” > “ab123cde”; //true 因为这里”c”大于”1” “3abc” > “12abc;//true, 因为”3”大于“1”
3.逻辑运算符:逻辑运算符都是针对“布尔值”进行的运算。如果不是布尔值,就会转换为布尔值进行;布尔值只有2个:true,false
逻辑与短路:如果一个语句中,通过与运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。
逻辑或短路,总结就是在逻辑语句中把简单的表达式放在前边
4.字符串运算符:1,符号只有一个:. 也衍生出另一个: .= ; 2,含义:就是将这个符号两边的字符串连接起来; 3,如果两边不是字符串,就会自动转换为字符串,然后连接起来。
5.赋值运算符
6.条件(三目,三元)运算符,只有一个,形式如下:数据值1 ? 数据值2 : 数据值3
含义:对数据值1进行判断,如果为“真”,则该运算符的运算结果就是数据值2,否则就是数据值3;
它是这样一个流程控制(逻辑判断)语句的简写形式
7.位运算符:位是什么?就是2进制数字的每一个“位”,
一个整数数字,有(由)32个位构成!
位运算符是仅仅针对整数进行的运算符;位运算符有如下几个: &:按位与; |:按位或; ~:按位非,按位取反; ^:按位异或;
记住以下几条就可以了:
· 要意识到运算符有优先级问题
· 括号最优先,赋值最落后(通常)
· 先乘除后加减
· 大致:单目运算符〉算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)
能查到手册: 语言参考》运算符》运算符的优先级。
1.算术运算符:1,他们都是针对数字进行的运算;2,如果他们的两边有不是数字的数据,就会(自动)转换为数字;3,其中取余运算(取模运算)%,它只针对“整数”进行运算,如果不是,会自动截取为整数。
11. 3 % 3 相当于 11 % 3;
11.8 % 3. 8 相当于 11 % 3;
自增自减运算符:
常规:对数字进行自加1或自减1。
字符串: 只能自增,且自增的效果就是“下一个字符”,其只能针对字母或数字进行自加,
布尔值递增递减无效
null递减无效,递增结果为1
独立的加价运算中,前自增和后自增效果一样;在有加加运算的其他语句中,i++是先做其他运算,然后对自己加1;++i是先对自己加1,然后做其他运算
2.比较运算符
符号:> >= < <= == != === !==
一般比较:是针对数字进行的大小比较,==和===比较:前者通常叫做模糊相等的比较,后者叫做精确相等的比较(只有数据的类型和数据的值/内容,都相等,才是全等的)
不要对浮点数直接进行大小比较
常见不同类型(标量类型)数据之间的比较规律:
如果比较的数据中,有布尔值,转为布尔值比较,布尔值比较只有一个规则:true>false,否则,如果有数字值,就转为数字值比较:这就是常规比较。否则,如果两边都是“纯数字字符串”,转为数字比较。否则,就按字符串比较。字符串比较的规则是:对两边的字符串,一个一个从前往后取出字符并进行比较,谁“先大”,结果就是它大。
“abc” > true //? false “abc” > false //true “0” > false //false 3 > “12”; //false 3 > “12abc”; //false “3” > “12” //false
“abc” > “c”; //false,后者大 “abc” > “ab123cde”; //true 因为这里”c”大于”1” “3abc” > “12abc;//true, 因为”3”大于“1”
3.逻辑运算符:逻辑运算符都是针对“布尔值”进行的运算。如果不是布尔值,就会转换为布尔值进行;布尔值只有2个:true,false
逻辑与短路:如果一个语句中,通过与运算需要进行多项判断,而且不同的判断具有明显不同的“复杂程度”,则我们应该将简单的判断放在前面,这时候我们就可以利用短路现象以达到提高效率的目的。
逻辑或短路,总结就是在逻辑语句中把简单的表达式放在前边
4.字符串运算符:1,符号只有一个:. 也衍生出另一个: .= ; 2,含义:就是将这个符号两边的字符串连接起来; 3,如果两边不是字符串,就会自动转换为字符串,然后连接起来。
5.赋值运算符
6.条件(三目,三元)运算符,只有一个,形式如下:数据值1 ? 数据值2 : 数据值3
含义:对数据值1进行判断,如果为“真”,则该运算符的运算结果就是数据值2,否则就是数据值3;
它是这样一个流程控制(逻辑判断)语句的简写形式
7.位运算符:位是什么?就是2进制数字的每一个“位”,
一个整数数字,有(由)32个位构成!
位运算符是仅仅针对整数进行的运算符;位运算符有如下几个: &:按位与; |:按位或; ~:按位非,按位取反; ^:按位异或;
运算符的优先级
运算符,都有优先级问题!记住以下几条就可以了:
· 要意识到运算符有优先级问题
· 括号最优先,赋值最落后(通常)
· 先乘除后加减
· 大致:单目运算符〉算术运算符〉比较运算符〉逻辑运算符(除了“非”运算)
能查到手册: 语言参考》运算符》运算符的优先级。
相关文章推荐
- PHP echo print print_r var_dump var_export 区别
- Thinkphp 文件上传方法总结
- FTP上传类
- php 练习
- FTPS加密上传
- laravel学习随记--视图部分(2)
- php 中list函数笔记
- PHP小数取整
- php返回json,xml,JSONP等格式的数据
- phpstorm中的快捷键
- ThinkPHP学习笔记(八)一个用户增删改查的小例子
- PHP和MYSQL相互链接
- laravel5.1框架下的权限控制
- 用php输入表格内容
- php 指针遍历、预定义数组和常用函数
- php 数组定义、取值和遍历
- 过 DNF TP 驱动保护(二)
- ThinkPHP去掉URL中的index.php
- 过 DNF TP 驱动保护(一)
- IIS+PHP+PGSQL