實(shí)例:
<?php
var_dump(0=="a"); //輸出:bool(true)
var_dump(0=="00"); //輸出:bool(true)
var_dump(0==="00"); //輸出:bool(false)
var_dump(0<>"abc"); //輸出:bool(false)
var_dump(0!=="01"); //輸出:bool(true)
$a=10;
$b=20;
$str=$a>$b? "true":"false";
echo $str; //輸出:false
?>
邏輯運(yùn)算符
運(yùn)算符 名稱 結(jié)果
$a and $b 邏輯與 TRUE,如果 $a 與 $b 都為 TRUE。
$a or $b 邏輯或 TRUE,如果 $a 或 $b 任一為TRUE。
$a xor $b 異或 TRUE,如果 $a 和 $b 不同時(shí)
! $a 邏輯非 TRUE,如果 $a 不為 TRUE。
$a && $b 邏輯與 TRUE,如果 $a 與 $b 都為TRUE。
$a || $b 邏輯或 TRUE,如果 $a 或 $b 任一為TRUE。
其中and與&& 、or與||是同一邏輯運(yùn)算符的兩種寫法。
邏輯與和邏輯或 都是短路運(yùn)算符。在遇到下列邏輯表達(dá)式時(shí),PHP解釋程序?qū)⒉粫?huì)計(jì)算右邊的表達(dá)式:
<?php
$a=10;
if(false && (++$a));
echo $a; //輸出:10
$b=10;
if(true or (++$b));
echo $b; //輸出:10
?>
位運(yùn)算符
位運(yùn)算符允許對整型數(shù)中指定的位進(jìn)行置位。如果左右參數(shù)都是字符串,則位運(yùn)算符將操作字符的 ASCII 值。
表達(dá)式 名稱 結(jié)果
$a & $b 按位與 將把 $a 和 $b 中都為 1 的位設(shè)為 1。
$a | $b 按位或 將把 $a 或者 $b 中為 1 的位設(shè)為 1。
$a ^ $b 按位異或 將把 $a 和 $b 中不同的位設(shè)為 1。
~ $a 按位非 將 $a 中為 0 的位設(shè)為 1,反之亦然。
$a << $b 左移 將 $a 中的位向左移動(dòng) $b 次(每一次 移動(dòng)都表示“乘以 2”)。
$a >> $b 右移 將 $a 中的位向右移動(dòng) $b 次(每一次 移動(dòng)都表示“除以 2”)。
其他運(yùn)算符
字符串運(yùn)算符
有兩個(gè)字符串運(yùn)算符。第一個(gè)是連接運(yùn)算符(“.”),它返回其左右參數(shù)連接后的字符串。第二個(gè)是連接賦值運(yùn)算符(“.=”),它將右邊參數(shù)附加到左邊的參數(shù)后。
錯(cuò)誤抑制操作符
在最常見的數(shù)據(jù)庫連接與文件創(chuàng)建操作或出現(xiàn)除0等異常時(shí),可以用@符號來抑制函數(shù)錯(cuò)誤信息輸出到瀏覽器端 $a=@(5/0)
外部命令執(zhí)行
使用``來運(yùn)行外部系統(tǒng)命令,注意不是單引號,是ESC下面那個(gè)按鍵
<?php
$out=`dir c:`;
print_r($out);
?>//不建議使用
實(shí)例:
<?php
$a="hello";
$a.=" world! "; //等同于:$a=$a." world!";
echo $a; //輸出:hello world!
$m = 3;
$m += 5; //等同于:$m=$m+5;
echo $m; //輸出:8
$c = ($b = 4) + 5;
echo $c; //輸出:9
?>
運(yùn)算符優(yōu)先級
下表從低到高列出了運(yùn)算符的優(yōu)先級。
結(jié)合方向 運(yùn)算符
左 ,
左 or
左 xor
左 and
右 print
右 = += -= *= /= .= %= &= |= ^= ~= <<= >>=
左 ? :
左 ||
左 &&
結(jié)合方向 運(yùn)算符
左 |
左 ^
左 &
無 == != === !==
無 < <= > >=
左 << >>
左 + - .
左 * / %
右 ! ~ ++ -- (int) (float) (string) (array) (object) @
右 [
無 new
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com