本文主要展示了可用於 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 = 『z』; $a++; 將把 $a 變成』aa』。字元變數只能遞增,不能遞減,並且只支援純字母(a-z 和 a-z)。遞增/遞減其他字元變數則無效,原字串沒有變化。$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
//加加在前,先加再返回
//加加在後,先返回再加
遞增或遞減布林值沒有效果。$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 ...