亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP有哪些運算符

發布時間:2020-11-06 14:05:28 來源:億速云 閱讀:145 作者:小新 欄目:編程語言

小編給大家分享一下PHP有哪些運算符,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

一、算術運算符

1. 概覽

PHP有哪些運算符

2. TIPS

除法運算符總是返回浮點數。只有在下列情況例外:兩個操作數都是整數(或字符串轉換成的整數)并且正好能整除,這時它返回一個整數。

取模運算符的操作數在運算之前都會轉換成整數(除去小數部分)。

取模運算符 % 的結果和被除數的符號(正負號)相同。即 $a % $b 的結果和 $a 的符號相同。例如:

echo (5 % 3)."\n";        // prints 2
echo (5 % -3)."\n";        // prints 2
echo (-5 % 3)."\n";        // prints -2
echo (-5 % -3)."\n";       // prints -2

二、位運算符

1. 概覽

PHP有哪些運算符

2. TIPS

位移在 PHP 中是數學運算。

向任何方向移出去的位都被丟棄。

左移時右側以零填充,符號位被移走意味著正負號不被保留。

右移時左側以符號位填充,意味著正負號被保留。

使用位運算符時要特別注意優先級。例如 :

$a & $b == true 先進行比較再進行按位與;

($a & $b) == true 則先進行按位與再進行比較。

三、比較運算符

1. 概覽

PHP有哪些運算符

2. TIPS

如果比較一個數字和字符串或者比較涉及到數字內容的字符串,則字符串會被轉換為數值并且比較按照數值來進行。此規則也適用于 switch 語句。當用 === 或 !== 進行比較時則不進行類型轉換,因為此時類型和數值都要比對。

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
switch ("a") {
case 0:
    echo "0";
    break;
case "a": // 永遠不會到達a,因為 "a" 已經與 0 匹配
    echo "a";
    break;
}
?>

3. 對于多種類型,比較運算符根據下表比較(按順序)

PHP有哪些運算符

4. 松散比較表

PHP有哪些運算符

四、遞增/遞減運算符

1. 概覽

PHP有哪些運算符

2. TIPS

遞增/遞減運算符不影響布爾值。

遞減 NULL 值也沒有效果,但是遞增 NULL 的結果是 1。

在處理字符變量的算數運算時,PHP 沿襲了 Perl 的習慣,而非 C 的。

例如,在 Perl 中 $a = 'Z'; $a++; 將把 $a 變成'AA',而在 C 中,a = 'Z'; a++; 將把 a 變成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。

注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z 和 A-Z)。

遞增/遞減其他字符變量則無效,原字符串沒有變化。

五、邏輯運算符

1. 概覽

PHP有哪些運算符

2. TIPS

“與”和“或”有兩種不同形式運算符的原因是它們運算的優先級不同。

// "&&" 比 "and" 的優先級高
// 表達式 (true && false) 的結果被賦給 $g
// 等同于:($g = (true && false))
$g = true && false;
// 常量 true 被賦給 $h,false 被忽略
// 等同于:(($h = true) and false)
$h = true and false;

六、數組運算符

1. 概覽

PHP有哪些運算符

2. TIPS

數組中的單元如果具有相同的鍵名和值則比較時相等

$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)

+ 運算符 和 array_merge() 的區別

當數組下標為字符時,遇到相同鍵名,+ 運算符會拋棄掉后面的值; array_merge()會用后面的值覆蓋前面的值。

當數組下標為數值時, array_merge()會保留所有的值,并重新索引數組。+ 運算符同樣會拋棄掉后面具有相同下標的值。

$arr1 = ['color' => 'red', 10, 20];
$arr2 = [0, 1, 'color' => 'green'];
print_r($arr1 + $arr2);
print_r(array_merge($arr1, $arr2));

輸出:

Array ( [color] => red [0] => 10 [1] => 20 ) 
Array ( [color] => green [0] => 10 [1] => 20 [2] => 0 [3] => 1 )

七、運算符優先級

1. 概覽

PHP有哪些運算符

2. TIPS

如果運算符優先級相同,那運算符的結合方向決定了該如何運算。例如,"-"是左聯的,那么 1 - 2 - 3 就等同于 (1 - 2) - 3 并且結果是 -4. 另外一方面,"="是右聯的,所以 $a = $b = $c 等同于 $a = ($b = $c)。

沒有結合的相同優先級的運算符不能連在一起使用,例如 1 < 2 > 1 在PHP是不合法的。但另外一方面表達式 1 <= 1 == 1 是合法的, 因為 == 的優先級低于 <=。

括號的使用,哪怕在不是必要的場合下,通過括號的配對來明確標明運算順序,而非靠運算符優先級和結合性來決定,通常能夠增加代碼的可讀性。

著重記憶:

遞增/遞減 > ! > 算術運算符 > 大小比較 > (不)相等比較 > 引用 > 位運算符(^) > 位運算符(|) > 邏輯與 > 邏輯或 > 三目 > 賦值 > and > xor > or

3. 實戰例題

請寫出下列程序輸出的結果

$a = 0;
$b = 0;
if ($a = 3 > 0 || $b = 3 > 0) 
{
    $a++;
    $b++;
    echo $a. "\n";
    echo $b. "\n";
}

例題分析

1.題目中包含 = > || 三種運算符,優先級順序為 > > || > =

2.$a = 3 > 0 || $b = 3 > 0 等價于 $a = ( ( 3 > 0 ) || $b = ( 3 > 0 ) )

3.( 3 > 0 ) 為 true,因此不會再運算 || 后面的式子

4.$a = true,所以程序可以改寫為

$a = 0;
$b = 0;
if ($a = true) 
{
    $a++;
    $b++;
    echo $a. "\n";
    echo $b. "\n";
}

5.因為 “遞增/遞減運算符不影響布爾值”,所以 $a++ 后,$a 的值依然是 true,echo true,會輸出 1

6.因為 $b = 0 ,所以 $b++ 后,$b 的值為 1

7.輸出結果為

1
1

看完了這篇文章,相信你對PHP有哪些運算符有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

遂川县| 武隆县| 鄂尔多斯市| 巴彦县| 崇仁县| 龙门县| 兴业县| 蓬溪县| 灵川县| 辽宁省| 上饶市| 南靖县| 万全县| 绥德县| 荆门市| 仙居县| 岚皋县| 鄂托克旗| 申扎县| 磐安县| 施秉县| 镇雄县| 垣曲县| 安新县| 开化县| 张家界市| 垦利县| 叙永县| 常宁市| 襄城县| 浦县| 赣榆县| 余江县| 凤阳县| 凤台县| 杭锦后旗| 鲜城| 金堂县| 呼和浩特市| 长顺县| 满城县|