PHP运算符

来源:互联网 发布:外星人源码eenot 编辑:程序博客网 时间:2024/05/22 17:36

运算符

一、 运算符分类

运算符按照所需要的参数数目来划分,可以划分为单目运算符、双目运算符和三目算符。如-(负号)就是一个典型的单目运算符;而+(加法)则是一个双目运算符,因为我们根据数学知识就可以知道加法有被加数和加数才可以!

运算符按照其功能来划分的话,可以划分为算术运算符、赋值运算符、位运算符等。这也是我们以后比较常用的运算符种类。

二、 算术运算符
-(取反)

+(加法)

-(减法)

*(乘法)

/(除法)

%(取模,即取余数)
 
三、 赋值运算符

=

四、 位运算符

&(按位与):把参数1和参数2中都为1的位设为1,其余的设为0

|(按位或):把参数1或参数2中都为1的位设为1,其余的设为0

^(按位异或):把参数1和参数2中不相同位的设为1,相同的位设为0

~(按位非):把参数中1设为0,参数中的0设为1

<<(右移)

>>(左移)

 
我们来解释一下上面的案例吧!

$i = 5;

$m = 9;

我们先需要将十进制数换算成二进制数,换算的公式是

1 2 4 8 16 32 64 ….

也就是

20= 1

21 = 2
22 = 4
23 = 8

而且 5 = 4 +1,那么对应的二进制数就是 101,同理可以得到9换算成二进制数是 1001

$i & $m 那就变成
 
而二进数0001的结果就是1,所以 5 & 9 的运行结果就是1了!


五、 比较运算符

==(等于)

echo(3==”3”)的结果为true

===(全等):严格地检测值的数据类型

echo(3===”3”)的结果为false

!=(不等于)

echo(3!=”3”)的结果为false

<>(不等于)

echo(3<>”3”)的结果为false

!== (不全等)

echo(3!==”3”)的结果为true

<(小于)

<=(小于等于)

>(大于)

>=(大于等于)

六、 逻辑运算符

and(与):两者同时为真,返回真

or(或):两者之一为真,返回真

xor(异或):两者之一,返回真,而不能两者同时为真

! (非):原来为真,现在为假;原来为假,现在为真

&&(与) :两者同时为真,返回真

||(或) :两者之一为真,返回真

七、 字符运算符

.(英文句号)
八、三元运算

 条件(三目)运算符 (?:)
根据条件执行两个语句中的其中一个。

test ? 语句1 : 语句2

例:$Base_home_url = isset( $_POST['home_url'] ) ? $_POST['home_url'] : "";

test ? 语句: 语句2

参数

test

任何 Boolean 表达式。

语句1

当 test 是 true 时执行的语句。可以是复合语句。

语句2

当 test 是 false 时执行的语句。可以是复合语句。

说明

?: 运算符是 if...else 语句的快捷方式。它通常被用作较大表达式的一部分,而在此处使用 if...else 语句是不协调的。例如:

var now = new Date(); var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

在该例子中,如果是 6pm 以后,则创建一个包含 "Good evening." 的字符串。使用 if...else 语句的等效代码如下:

var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else
   greeting += " day.";


http://blog.sina.com.cn/s/blog_66dc3ab40100xsnm.html


0 0