PHP之operators
PHP运算符 PHP运算符是一个符号,即用于对操作数执行操作。简而言之,运算符用于对变量或值执行运算。例如: …
PHP运算符
PHP运算符是一个符号,即用于对操作数执行操作。简而言之,运算符用于对变量或值执行运算。例如:
$num=10+20;//+ is the operator and 10,20 are operands
在上面的示例中,+是二进制+运算符,10和20是操作数,$num是变量。
PHP运算符可以按以下形式分类:
- 算术运算符
- 赋值运算符
- 按位运算符
- 比较运算符
- 递增/递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 执行运算符
- 错误控制运算符
我们还可以代表操作数对运算符进行分类。它们可以分为3种形式:
- 一元运算符:适用于++,-等单个操作数。
- 二进制运算符:对两个操作数起作用,例如二进制+,-,*,/等。
- 三元运算符:对三个运算符(例如“?:”)进行运算。
算术运算符
PHP算术运算符用于执行常用的算术运算,例如对数值进行加法,减法等。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| + | Addition | $a + $b | Sum of operands |
| – | Subtraction | $a – $b | Difference of operands |
| * | Multiplication | $a * $b | Product of operands |
| / | Division | $a / $b | Quotient of operands |
| % | Modulus | $a % $b | Remainder of operands |
| ** | Exponentiation | $a ** $b | $a raised to the power $b |
指数(**)运算符已在PHP5.6中引入。
赋值运算符
赋值运算符用于将值赋给不同的变量。基本赋值运算符为“=”。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| = | Assign | $a = $b | The value of right operand is assigned to the left operand. |
| += | Add then Assign | $a += $b | Addition same as $a = $a + $b |
| -= | Subtract then Assign | $a -= $b | Subtraction same as $a = $a – $b |
| *= | Multiply then Assign | $a *= $b | Multiplication same as $a = $a * $b |
| /= | Divide then Assign (quotient) |
$a /= $b | Find quotient same as $a = $a / $b |
| %= | Divide then Assign (remainder) |
$a %= $b | Find remainder same as $a = $a % $b |
按位运算符
按位运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| & | And | $a & $b | Bits that are 1 in both $a and $b are set to 1, otherwise 0. |
| | | Or (Inclusive or) | $a | $b | Bits that are 1 in either $a or $b are set to 1 |
| ^ | Xor (Exclusive or) | $a ^ $b | Bits that are 1 in either $a or $b are set to 0. |
| ~ | Not | ~$a | Bits that are 1 set to 0 and bits that are 0 are set to 1 |
| << | Shift left | $a << $b | Left shift the bits of operand $a $b steps |
| >> | Shift right | $a >> $b | Right shift the bits of $a operand by $b number of places |
比较运算符
比较运算符允许比较两个值,例如number或字符串。下面给出了比较运算符的列表:
| Operator | Name | Example | Explanation |
|---|---|---|---|
| == | Equal | $a == $b | Return TRUE if $a is equal to $b |
| === | Identical | $a === $b | Return TRUE if $a is equal to $b, and they are of same data type |
| !== | Not identical | $a !== $b | Return TRUE if $a is not equal to $b, and they are not of same data type |
| != | Not equal | $a != $b | Return TRUE if $a is not equal to $b |
| <> | Not equal | $a <> $b | Return TRUE if $a is not equal to $b |
| < | Less than | $a < $b | Return TRUE if $a is less than $b |
| > | Greater than | $a > $b | Return TRUE if $a is greater than $b |
| <= | Less than or equal to | $a <= $b | Return TRUE if $a is less than or equal $b |
| >= | Greater than or equal to | $a >= $b | Return TRUE if $a is greater than or equal $b |
| <=> | Spaceship | $a <=>$b | Return -1 if $a is less than $b Return 0 if $a is equal $b Return 1 if $a is greater than $b |
递增/递减运算符
递增和递减运算符用于增加和减少变量的值。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| ++ | Increment | ++$a | Increment the value of $a by one, then return $a |
| $a++ | Return $a, then increment the value of $a by one | ||
| — | decrement | –$a | Decrement the value of $a by one, then return $a |
| $a– | Return $a, then decrement the value of $a by one |
逻辑运算符
逻辑运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| and | And | $a and $b | Return TRUE if both $a and $b are true |
| Or | Or | $a or $b | Return TRUE if either $a or $b is true |
| xor | Xor | $a xor $b | Return TRUE if either $ or $b is true but not both |
| ! | Not | ! $a | Return TRUE if $a is not true |
| && | And | $a && $b | Return TRUE if either $a and $b are true |
| || | Or | $a || $b | Return TRUE if either $a or $b is true |
字符串运算符
字符串运算符用于对字符串执行操作。PHP中有两个字符串运算符,如下所示:
| Operator | Name | Example | Explanation |
|---|---|---|---|
| . | Concatenation | $a . $b | Concatenate both $a and $b |
| .= | Concatenation and Assignment | $a .= $b | First concatenate $a and $b, then assign the concatenated string to $a, e.g. $a = $a . $b |
数组运算符
如果是数组,则使用数组运算符。基本上,这些运算符用于比较数组的值。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| + | Union | $a + $y | Union of $a and $b |
| == | Equality | $a == $b | Return TRUE if $a and $b have same key/value pair |
| != | Inequality | $a != $b | Return TRUE if $a is not equal to $b |
| === | Identity | $a === $b | Return TRUE if $a and $b have same key/value pair of same type in same order |
| !== | Non-Identity | $a !== $b | Return TRUE if $a is not identical to $b |
| <> | Inequality | $a <> $b | Return TRUE if $a is not equal to $b |
类型运算符
类型运算符instanceof用于确定对象,其父级及其派生类是否相同。基本上,此运算符确定对象属于哪个特定类。它用于面向对象的编程。
<?php
//class declaration
class Developer
{}
class Programmer
{}
//creating an object of type Developer
$charu = new Developer();
//testing the type of object
if( $charu instanceof Developer)
{
echo "Charu is a developer.";
}
else
{
echo "Charu is a programmer.";
}
echo "</br>";
var_dump($charu instanceof Developer); //It will return true.
var_dump($charu instanceof Programmer); //It will return false.
?>
输出:
Charu is a developer. bool(true) bool(false)
执行运算符
PHP具有执行运算符反引号(“)。PHP将反引号的内容作为shell命令执行。执行运算符和shell_exec()给出相同的结果。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| “ | backticks | echo `dir`; | Execute the shell command and return the result. Here, it will show the directories available in current folder. |
注意:请注意反引号(“)不是单引号。
错误控制运算符
PHP具有一个错误控制运算符,即(@)符号。只要将它与表达式一起使用,该表达式可能生成的任何错误消息都将被忽略。
| Operator | Name | Example | Explanation |
|---|---|---|---|
| @ | at | @file (‘non_existent_file’) | Intentional file error |
PHP运算符优先级
让我们看看具有关联性的PHP运算符的优先级。
| Operators | Additional Information | Associativity |
|---|---|---|
| clone new | clone and new | non-associative |
| [ | array() | left |
| ** | arithmetic | right |
| ++ — ~ (int) (float) (string) (array) (object) (bool) @ | increment/decrement and types | right |
| instanceof | types | non-associative |
| ! | logical (negation) | right |
| * / % | arithmetic | left |
| + – . | arithmetic and string concatenation | left |
| << >> | bitwise (shift) | left |
| < <= > >= | comparison | non-associative |
| == != === !== <> | comparison | non-associative |
| & | bitwise AND | left |
| ^ | bitwise XOR | left |
| | | bitwise OR | left |
| && | logical AND | left |
| || | logical OR | left |
| ?: | ternary | left |
| = += -= *= **= /= .= %= &= |= ^= <<= >>= => | assignment | right |
| and | logical | left |
| xor | logical | left |
| or | logical | left |
| , | many uses (comma) | left |
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。



还没有任何评论,赶紧来占个楼吧!