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.";
转载请注明本文地址: https://www.igs.cc/01/25/282/ | IGS's Blog
PHP运算符:等您坐沙发呢!
发表评论
