TearSnow

PHP运算符

运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。

有三种类型的运算符:

第一种是一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。 例如有:+1  -1 ++  -- ! 

第二种是有限二元运算符,PHP 支持的大多数运算符都是这种。列表见下节运算符优先级。例如有: +  -  *  /  %  >  < =  ==  ===

第三种是三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。例如: 1 ? 2 : 3

运算元   运算符    运算元

 1        +         1

运算符的类型

一、 运算符分类

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

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

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

+(加法)

-(减法)

*(乘法)

/(除法)

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

=

四、 位运算符

&(按位与):把参数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 ? 语句1 : 语句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://www.igs.cc/01/25/282/ | IGS's Blog

标签:
该日志由 IGS 于2016年01月25日发表在 PHP日志, 学习日志 分类下, 您可以发表不同观点
原创文章,转载请注明: PHP运算符 | IGS's Blog

PHP运算符:等您坐沙发呢!

发表评论

= 12 + 12 (防止机器人评论

快捷键:Ctrl+Enter