php运算符

运算符:

算术运算符

    +、-、*、/、%、++、--

++自增运算符

前自增        ++$i

运算规则:

    先对变更的值自增加1,再使用变量的新值,参与整个式子的运算

示例:

后自增        $i++

    先使用变量的值参与整个式子的运算,再对变量的值自增1

示例:

说明:

    无论前加加还是后加加,变量的值最终都会加1唯独受影响的是整个式子的值。

--自减运算符

前减减        --$i

运算规则:

    先对变更的值自减1,再使用变量的新值,参与整个式子的运算

后减减        $i--

运算规则:

    先使用变量的值参与整个式子的运算,再对变量的值自减1

 

比较运算符(关系运算符)

比较运算符主要是对两个数据进行比较(对一个式了进行计算)

>、<、>=、<=、==、!=、===、!==

==

!=

===        判断两个操作数的类型与值都相等,则返回true

!==        如果两个操作数的类型与值,只有一个不相等,则返回true

示例:

比较运算符最终的结果:boolean

逻辑运算符

对多个式子进行计算

&&、||、!、and、or

&&逻辑与

真值运算规则:    

    参与运算的两个操作数,都为true(或者能够转换成布尔true),最终的结果true,否则为false

假值运算规则:

    只有一个为false,最终的结果就为false

示例:

根据逻辑与的假值运算规则,当第一个操作数为false时,会将第二个式子短路掉(不再去执行)

 

||逻辑或

运算规则:

    参与运算的两个操作数,只要有一个为true(或能够转换为true),最终的结果为true

示例:

根据逻辑或的真值运算规则:如果第一个操作为true,第二个参数不会参与运算。

示例:

    

!逻辑非

运算规则:

    单目运算符,对操作数取反

and逻辑与 or逻辑或

示例:

三目运算符

语法:

    表达式1?表达式2:表达式3;

说明:

    当表达式1成功时,执行表达式2,否则执行表达式3,(简单的if...else..结构)

 

赋值运算符

=        赋值符号:将右侧的值赋值给左侧的变量

+=        在原值的基础上加上新值,再赋值给原来的变量

$i+=10        $i=$i+10

-=        在原值的基础上减去新值,再赋值给原来的变量

*=        在原值的基础上乘新值,再赋值给原来的变量

/=        在原值的基础上除新值,再赋值给原来的变量

%=        在原值的基础上模新值,再赋值给原来的变量

.=        字符串进行拼接,在原字符串的基础,拼上新值,再赋值给原来的变量

字符串运算符

.        字符串拼接运算符

位运算符

    位(bit)运算符就是对数据的二进制形式进行运算

&、|、^、~、<<、>>

&按位与

运算规则:

    参与运算的两个操作数的二进制形式,相应位(从右向左)上的二进制数,都为1时,对应的结果位为1,否则为0

示例:

|按位或

运算规则:

    参与运算的两个操作数的二进制形式,相应位上的二进制数,如果两个都为0,对应的结果位为0,否则为1

示例:

^按位异或

运算规则:

    参与运算的两个操作数的二进制形式,相应位上的二进制数,如果不同,则为1,否则为0

示例:

~按位非

    单目运算符

运算规则:

    对操作数的二进制形式,进行按位取反,1为0,0为1

示例:

<<算术左移

运算规则:

    对操作数的二进制形式,符号位不动其余位整体左移n位,左侧溢出位被忽略,右侧不足补0

示例:

>>算术右移

运算规则:

    对操作数的二进制形式,符号位不动,其余位整体右移n位,右侧溢出忽略,左侧补符号位

 

>>>逻辑右移(PHP中不支持)

运算规则:

    操作数的二进制位,整体右移(包含符号位),右侧溢出位忽略,左而补0

 

拓展:

    类与对象的关系

    类完全可以理解为一个图纸。

    对象完全可以理解为一个实物。

原码:二进制数与符号位

    IEEE强制规定,在用最高位表示符号位正号用0,负号用1

反码:

    正数的反码与原码相同

    负数的反码在反码的基础上符号位不变,其余个位取反

 

补码:

    正数的补码与原码相同

    负数的补码在反码的基础上,加1

示例:

总结:

对于正数的原码、反码、补码相同

对于负数:

    原码高位用1表示

    反码在原码的基础最高位不变,其余位取反

    补码在反码基础上加1

posted @ 2016-04-05 09:08  尼农小道  阅读(347)  评论(0编辑  收藏  举报