Practical PHP Programming

操作符

操作符对操作数进行操作,改变传入的值。例如,在2 + 3中,2和3是操作数,+是操作符。有三种操作符:一元、二元和三元操作符。一元操作符只有一个操作数,二元操作符有两个操作数,三元的有三个。如你所见,+是二元操作符,将两个变量作为输入。

PHP中有大量操作符,你需要重点记忆14个。

首先是最重要的操作符。不用一次全部记忆,后面有例子来帮你记忆:

操作符 说明
+ 二元,将操作数一同操作数二相加。
- 二元,从操作数一种减去操作数二。
* 二元,将操作数一同操作数而相乘。
/ 二元,操作数一除以操作数二。
. 二元,将字符串一同字符串二相连。
! 一元,取反操作。
++和-- 一元,变量自增或自减。
= 二元,将操作数二赋值给操作数一。
== 二元,测试操作数一同操作数是否相等。
=== 二元,测试操作数一同操作数是否绝对相等。
<和> 二元,小于和大于,也被叫做“低俗小说”操作符(如果不知道也没关系)。
&& 二元,逻辑与,测试两边的条件是否都为真。
|| 二元,逻辑或,测试两边的条件是否至少一边为真。

下面是这些操作符使用的一些例子:

 <?php
    $somevar = 5 + 5; // 10
    $somevar = 5 - 5; // 0
    $somevar = 5 + 5 - (5 + 5); // 0
    $somevar = 5 * 5; // 25
    $somevar = 10 * 5 - 5; // 45
    $somevar = $somevar . "appended to end";
    $somevar = false;
    $somevar = !$somevar; // $somevar is now set to true
    $somevar = 5;
    $somevar++; // $somevar is now 6
    $somevar--; // $somevar is now 5 again
    ++$somevar; // $somevar is 6
?>

注意在第三个表达式中,使用了括号来进行分隔,改变了运算的优先级。有时候有些括号是不必要的,如10 * 5 - 5当中会优先计算10 * 5,因为乘法的优先级要高于减法。

有时候虽然计算的时候有明确的优先级,但是使用括号可以使你表达式的含义更加明确。括号内的表达式通常会有限计算,你可以使用任意顺序的括号来正确表示你的表达式。

作者说明:如果你直接使用,你可能忽略这句话:有时候虽然计算的时候有明确的优先级,但是使用括号可以使你表达式的含义更加明确。

我不能说这有多重要,如果你不使用括号,你迫使你代码的读者记忆操作符优先级和关系表,这是不对的。在一些可能有歧义的情况下不用括号,上帝也会抓狂的。