天天看点

php运算符%的作用,PHP运算符解释和用法

本文概述

PHP Operator是一个符号, 即用于对操作数执行操作的符号。简而言之, 运算符用于对变量或值执行运算。例如:

$num=10+20;//+ is the operator and 10, 20 are operands

在上面的示例中, +是二进制+运算符, 10和20是操作数, $ num是变量。

PHP运算符可以按以下形式分类:

算术运算符

赋值运算符

按位运算符

比较运算符

递增/递减运算符

逻辑运算符

字符串运算符

数组运算符

类型运算符

执行运算符

错误控制运算符

我们还可以代表操作数对运算符进行分类。它们可以分为3种形式:

一元运算符:适用于++, -等单个操作数。

二进制运算符:对两个操作数起作用, 例如二进制+, -, *, /等。

三元运算符:对三个运算符(例如”?:”)进行运算。

算术运算符

PHP算术运算符用于执行常用的算术运算, 例如对数值进行加法, 减法等。

Operator

Name

Example

Explanation

+

Addition

$ a + $ b

操作数总和

Subtraction

$ a-$ b

操作数的差异

*

Multiplication

$ a * $ b

操作数的乘积

/

Division

$ a / $ b

操作数的商

%

Modulus

$ a%$ b

余数

**

Exponentiation

$ a ** $ b

$ a升到$ b

指数(**)运算符已在PHP 5.6中引入。

赋值运算符

赋值运算符用于将值赋给不同的变量。基本赋值运算符为” =”。

Operator

Name

Example

Explanation

=

Assign

$ a = $ b

右操作数的值分配给左操作数。

+=

添加然后分配

$ a + = $ b

与$ a = $ a + $ b相同

-=

减去然后分配

$ a-= $ b

减法与$ a = $ a-$ b相同

*=

然后相乘然后赋值

$ a * = $ b

与$ a = $ a * $ b相同的乘法

/=

除以然后赋值(商)

$ a / = $ b

查找与$ a = $ a / $ b相同的商

%=

划分然后分配(剩余)

$ a%= $ b

查找与$ a = $ a%$ b相同的余数

按位运算符

按位运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。

Operator

Name

Example

Explanation

&

And

$ a和$ b

$ a和$ b中均为1的位设置为1, 否则为0。

|

或(包含或)

$ a | $ b

$ a或$ b中为1的位设置为1

^

异或(异或)

$ a ^ $ b

$ a或$ b中为1的位设置为0。

~

Not

~$a

1的位设置为0, 而0的位设置为1

<<

左移

$ a << $ b

左移操作数$ a $ b的位

>>

右移

$ a >> $ b

将$ a操作数的位右移$ b个位数

比较运算符

比较运算符允许比较两个值, 例如数字或字符串。下面给出了比较运算符的列表:

Operator

Name

Example

Explanation

==

Equal

$ a == $ b

如果$ a等于$ b, 则返回TRUE

===

Identical

$ a === $ b

如果$ a等于$ b并且它们具有相同的数据类型, 则返回TRUE

!==

Not identical

$ a!== $ b

如果$ a不等于$ b并且它们不是同一数据类型, 则返回TRUE

!=

不相等

$ a!= $ b

如果$ a不等于$ b, 则返回TRUE

<>

Not equal

$ a <> $ b

如果$ a不等于$ b, 则返回TRUE

<

Less than

$ a

如果$ a小于$ b, 则返回TRUE

>

Greater than

$ a> $ b

如果$ a大于$ b, 则返回TRUE

<=

小于或等于

$ a <= $ b

如果$ a小于或等于$ b, 则返回TRUE

>=

大于或等于

$ a> = $ b

如果$ a大于或等于$ b, 则返回TRUE

<=>

Spaceship

$ a <=> $ b

如果$ a小于$ b, 则返回-1;如果$ a等于$ b, 则返回0;如果$ a大于$ b, 则返回1。

递增/递减运算符

递增和递减运算符用于增加和减少变量的值。

Operator

Name

Example

Explanation

++

Increment

++ $ a

将$ a的值加1, 然后返回$ a

$a++

返回$ a, 然后将$ a的值加1

decrement

–$a

将$ a的值减一, 然后返回$ a

$a–

返回$ a, 然后将$ a的值减一

逻辑运算符

逻辑运算符用于对操作数执行位级运算。这些运算符允许对整数内的特定位进行评估和处理。

Operator

Name

Example

Explanation

and

And

$ a和$ b

如果$ a和$ b都为true, 则返回TRUE

Or

Or

$ a或$ b

如果$ a或$ b为真, 则返回TRUE

xor

Xor

$ a xor $ b

如果$或$ b为真, 但不是全部为真, 则返回TRUE

!

Not

! $a

如果$ a不为真, 则返回TRUE

&&

And

$ a && $ b

如果$ a和$ b为真, 则返回TRUE

||

Or

$ a || $ b

如果$ a或$ b为真, 则返回TRUE

字符串运算符

字符串运算符用于对字符串执行操作。 PHP中有两个字符串运算符, 如下所示:

Operator

Name

Example

Explanation

.

Concatenation

$ a。 $ b

连接$ a和$ b

.=

串联和分配

$ a。= $ b

首先连接$ a和$ b, 然后将连接的字符串分配给$ a, 例如$ a = $ a $ b

数组运算符

如果是数组, 则使用数组运算符。基本上, 这些运算符用于比较数组的值。

Operator

Name

Example

Explanation

+

Union

$ a + $和

$ a和$ b的并集

==

Equality

$ a == $ b

如果$ a和$ b具有相同的键/值对, 则返回TRUE

!=

Inequality

$ a!= $ b

如果$ a不等于$ b, 则返回TRUE

===

Identity

$ a === $ b

如果$ a和$ b具有相同类型的相同键/值对且顺序相同, 则返回TRUE

!==

Non-Identity

$ a!== $ b

如果$ a与$ b不同, 则返回TRUE

<>

Inequality

$ a <> $ b

如果$ a不等于$ b, 则返回TRUE

类型运算符

类型运算符instanceof用于确定对象, 其父对象及其派生类是否相同。基本上, 此运算符确定对象属于哪个特定类。它用于面向对象的编程。

//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 "";

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

回声`目录`;

执行shell命令并返回结果。在这里, 它将显示当前文件夹中的可用目录。

注意:请注意反引号(“)不是单引号。

错误控制运算符

PHP具有一个错误控制运算符, 即(@)符号。只要将它与表达式一起使用, 该表达式可能生成的任何错误消息都将被忽略。

Operator

Name

Example

Explanation

@

at

@file(‘non_existent_file’)

故意文件错误

PHP运算符优先级

让我们看看具有关联性的PHP运算符的优先级。

Operators

Additional Information

Associativity

克隆新

克隆和新

non-associative

[

array()

left

**

arithmetic

right

++-〜(整数)(浮点数)(字符串)(数组)(对象)(布尔)@

增量/减量和类型

right

instanceof

types

non-associative

!

逻辑(否定)

right

* / %

arithmetic

left

+ – .

算术和字符串连接

left

<< >>

bitwise (shift)

left

< <= > >=

comparison

non-associative

== != === !== <>

comparison

non-associative

&

按位与

left

^

按位异或

left

|

bitwise OR

left

&&

logical AND

left

||

逻辑或

left

?:

ternary

left

= += -= *= **= /= .= %= &= |= ^= <<= >>= =>

assignment

right

and

logical

left

xor

logical

left

or

logical

left

,

许多用途(逗号)

left