本章節我們將討論 PHP 中不同運算符的應用。
在 PHP 中,賦值運算符 = 用于給變量賦值。
在 PHP 中,算術運算符 + 用于把值加在一起。
PHP7+ 版本新增整除運算符 intdiv(),使用實例:
?phpvar_dump(intdiv(10, 3));以上實例會輸出:int(3)PHP 賦值運算符
在 PHP 中,基本的賦值運算符是 "="。它意味著左操作數被設置為右側表達式的值。也就是說,"$x = 5" 的值是 5。
以下實例演示了使用不同字符串運算符得到的相同結果:
?php$a = Hello ;$b = $a . world! ;echo $b; // 輸出Hello world! $x= Hello ;$x .= world! ;echo $x; // 輸出Hello world!對 expr1 求值為 TRUE 時的值為 expr2,在 expr1 求值為 FALSE 時的值為 expr3。
自 PHP 5.3 起,可以省略三元運算符中間那部分。表達式 expr1 ?: expr3 在 expr1 求值為 TRUE 時返回 expr1,否則返回 expr3。
以下實例中通過判斷 $_GET 請求中含有 user 值,如果有返回 $_GET['user'],否則返回 nobody:
?php$test = ' ';// 普通寫法$username = isset($test) ? $test : 'nobody';echo $username, PHP_EOL;// PHP 5.3+ 版本寫法$username = $test ?: 'nobody';echo $username, PHP_EOL;注意:PHP_EOL 是一個換行符,兼容更大平臺。
在 PHP7+ 版本多了一個 NULL 合并運算符 ??,實例如下:
?php// 如果 $_GET['user'] 不存在返回 'nobody',否則返回 $_GET['user'] 的值$username = $_GET['user'] ?? 'nobody';// 類似的三元運算符$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';PHP7+ 支持組合比較符(combined comparison operator)也稱之為太空船操作符,符號為 = 。組合比較運算符可以輕松實現兩個變量的比較,當然不僅限于數值類數據的比較。
語法格式如下:
$c = $a =
解析如下:
如果 $a $b, 則 $c 的值為 1。如果 $a == $b, 則 $c 的值為 0。如果 $a $b, 則 $c 的值為 -1。下表按照優先級從高到低列出了運算符。同一行中的運算符具有相同優先級,此時它們的結合方向決定求值順序。
說明:左 = 從左到右,右 = 從右到左。
運算符優先級中,or 和 ||,&& 和 and 都是邏輯運算符,效果一樣,但是其優先級卻不一樣。
?php// 優先級: = and// 優先級: || = or$a = 3;$b = false;$c = $a or $b;var_dump($c); // 這里的 $c 為 int 值3,而不是 boolean 值 true$d = $a || $b;var_dump($d); //這里的 $d 就是 boolean 值 true我們通過括號的配對來明確標明運算順序,而非靠運算符優先級和結合性來決定,通常能夠增加代碼的可讀性。
?php// 括號優先運算$a = 1;$b = 2;$c = 3;$d = $a + $b * $c;echo $d;echo /n ;$e = ($a + $b) * $c; // 使用括號echo $e;echo /n ;以上實例輸出結果為:
tianqixin
429***967@qq.com
一個等號 = 用于賦值,如:
$a = 5;兩個等號 == 用于比較,值相等,類型不一定相等,如:
5==5 // 返回 true5=="5" // 返回 true三個等號 === 用于絕對比較,即類型與值都要相等,如:
5===5 // 返回 true5==="5" // 返回 false
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答