天天看點

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