PHP十一種運算子

2021-10-10 09:34:38 字數 4283 閱讀 8680

本文主要展示了可用於 php 指令碼中的各種運算子。運算子是可以通過給出的一或多個值(用程式設計行話來說,表示式)來產生另乙個值(因而整個結構成為乙個表示式)的東西。

賦值運算子用於向變數寫值。基本的賦值運算子是「=」。意味著把右邊表示式的值賦給左邊的運算數。分為傳值賦值和引用賦值。

傳值賦值:

引用賦值:意味著兩個變數指向了同乙個資料,沒有拷貝任何東西。

$a=3

;$b=&

$a;echo$a.

"";//輸出3

echo$b.

"";//輸出3$a=

4;echo$a.

"";//輸出4

echo$b.

"";//輸出4

$str

="hello"

;$str

=$str

." world"

;echo

$str

;//輸出hello world

$st=

"hello"

;$st.=

"world"

;echo

$st;

//輸出hello world

$a=2

;$a=++

$a;//$a+1,然後返回$a

echo$a;

//輸出3

echo$a;

//輸出3$b=

2;$b=

$b++

;//返回$b,然後$b+1

echo$b;

//輸出3

echo$b;

//輸出2

//加加在前,先加再返回

//加加在後,先返回再加

遞增遞減還可以用在字串上:$a = 『z』; $a++; 將把 $a 變成』aa』。字元變數只能遞增,不能遞減,並且只支援純字母(a-z 和 a-z)。遞增/遞減其他字元變數則無效,原字串沒有變化。

$str

="w"

;$str_new

=$str++;

echo

$str

;//輸出w

echo

$str_new

;//輸出x

$st=

'z';

$st_new

=$st++;

echo

$st.""

;//輸出aa

echo

$st_new."

";//輸出z$s=

'z';

$s_new=$s

++;echo$s.

"";//輸出aa

echo

$s_new."

";//輸出z

遞增或遞減布林值沒有效果。

用於比較兩個值(數字或字串)

// integers

echo

1<=

>1;

// 0

echo

1<=

>2;

// -1

echo

2<=

>1;

// 1

// floats

echo

1.5<=

>

1.5;

// 0

echo

1.5<=

>

2.5;

// -1

echo

2.5<=

>

1.5;

// 1

// strings

echo

"a"<=

>

"a";

// 0

echo

"a"<=

>

"b";

// -1

echo

"b"<=

>

"a";

// 1

echo

"a"<=

>

"aa"

;// -1

echo

"zz"

<=

>

"aa"

;// 1

// arrays

echo

<=

>

;// 0

echo[1

,2,3

]<=

>[1

,2,3

];// 0

echo[1

,2,3

]<=

>

;// 1

echo[1

,2,3

]<=

>[1

,2,1

];// 1

echo[1

,2,3

]<=

>[1

,2,4

];// -1

// objects$a=

(object)

["a"

=>

"b"];$b

=(object)

["a"

=>

"b"]

;echo

$a<=

>$b;

// 0$a=

(object)

["a"

=>

"b"];$b

=(object)

["a"

=>

"c"]

;echo

$a<=

>$b;

// -1$a=

(object)

["a"

=>

"c"];$b

=(object)

["a"

=>

"b"]

;echo

$a<=

>$b;

// 1

// only values are compared$a=

(object)

["a"

=>

"b"];$b

=(object)

["b"

=>

"b"]

;echo

$a<=

>$b;

// 1

//以上的合併運算子等同於if(

isset($b

))else

位移在 php 中是數**算。向任何方向移出去的位都被丟棄。左移時右側以零填充,符號位被移走意味著正負號不被保留。右移時左側以符號位填充,意味著正負號被保留。

錯誤控制運算子:@。當將其放置在乙個 php 表示式之前,該表示式可能產生的任何錯誤資訊都被忽略掉。@ 運算子只對表示式有效。可以把它放在變數,函式和 include 呼叫,常量,等等之前。不能把它放在函式或類的定義之前,也不能用於條件結構例如 if 和 foreach 等。

反引號(``)。php 將嘗試將反引號中的內容作為 shell 命令來執行,並將其輸出資訊返回(即,可以賦給乙個變數而不是簡單地丟棄到標準輸出)。使用反引號運算子「`」的效果與函式 shell_exec() 相同。

關閉了 shell_exec() 時反引號運算子是無效的,不能在雙引號字串中使用。

instanceof 用於確定乙個 php 變數是否屬於某一類 class 的例項。

class

test1

class

test2

$str

=new

test2

;var_dump

($str

instanceof

test1);

//輸出bool(false)

var_dump

($str

instanceof

test2);

//輸出bool(true)

class

test3

class

test4

extends

test3

$st=

newtest4

;var_dump

($st

instanceof

test3);

//輸出bool(true)

var_dump

($st

instanceof

test4);

//輸出bool(true)

以上就是今天要講的內容,本文僅僅簡單介紹了php常見運算子的介紹。

php運算子取整 PHP 運算子

數學計算 1.使用 abs 函式設定數值的絕對值。輸出 5 echo abs 5 2.使用 ceil 函式進製取整。輸出 6 echo ceil 5.8 echo ceil 5.1 3.使用 floor 函式截斷取整。輸出 5 echo floor 5.8 echo floor 5.1 4.使用 r...

PHP基礎 運算子 算術運算子 位運算子

1 將強制轉換為數字作加法運算 例 a 33 b 45.0 echo a b a b gettype a b 2 將強制轉換為數字作減法運算 例 a 33 b 45 echo a b a b gettype a b a 33.70 b 45.00 echo a b a b gettype a b 3...

float php 運算 PHP 運算子

關於陣列 ly array id 1 username ly ngcx array id 2 username ngcx var dump ly ngcx var dump ly ngcx var dump ly ngcx var dump ly ngcx var dump ly ngcx var ...