php中“foo()”和“@foo()”的區(qū)別:“@foo()”是錯(cuò)誤控制輸出,其所有錯(cuò)誤會(huì)被忽略,“foo()”是正常調(diào)用輸出。“@”是錯(cuò)誤抑制符,當(dāng)放在一個(gè)php表達(dá)式之前,該表達(dá)式的所有錯(cuò)誤報(bào)告會(huì)被忽略。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
運(yùn)算符考察點(diǎn) Foo()和@foo()的區(qū)別
@foo() 是錯(cuò)誤控制輸出,foo()是正常調(diào)用輸出。
@是錯(cuò)誤抑制符;當(dāng)放在一個(gè)php表達(dá)式之前,該表達(dá)式的所有錯(cuò)誤會(huì)被忽略;
@符號(hào)在PHP 中可以忽略錯(cuò)誤報(bào)告,對(duì)于表達(dá)式有提示錯(cuò)誤的,但有不影響語(yǔ)句執(zhí)行的,可以在表達(dá)式之前加@。
可以把@符號(hào)放在變量、函數(shù)和include() 調(diào)用、常量等之前,但不能把@放在函數(shù)、類的定義之前,也不能用于條件結(jié)構(gòu)語(yǔ)句之前
eg:if 、switch、while、for和foreach等
延伸:PHP所有運(yùn)算符考點(diǎn)
1) PHP運(yùn)算符優(yōu)先級(jí)(從高到低)
- 遞增 / 遞減
- !
- 算術(shù)運(yùn)算符
- 大小比較
- (不)相等比較
- 引用
- 位運(yùn)算符(^)
- 位運(yùn)算符(|)
- 邏輯與
- 邏輯或
- 三目
- 賦值
- and
- xor
- or
注:括號(hào)的使用可以增加代碼可讀性,推薦使用
2) 比較運(yùn)算符:==
和 ===
的區(qū)別
- == 比較值是否相等; === 比較值是否相等,類型是否相同。
- 等值判斷(FALSE的七種情況)
if (’== false’) {
echo ‘’;
} elseif (‘0’ == 0) {
echo ‘’;
} elseif (0.0 == 0) {
echo ‘’;
}
注:
- FALSE的七種情況都滿足:
- 整型 0
- 浮點(diǎn)型 0.0
- 零字符串 ‘0’
- 空字符串 ‘’ "
- 空數(shù)組 array()
- null
- 布爾型 false
3) 遞增/遞減運(yùn)算符
- 遞增/遞減運(yùn)算符不影響布爾值;
- true++; // true
- true–; // true
- false++ ; // false
- false–; // false
- 遞減NULL值沒有效果;遞增NULL值為1;
- NULL–; // NULL
- NULL++; // 1
- 遞增和遞減在前,就先運(yùn)算,后返回;反之就先返回,后運(yùn)算
4) 邏輯運(yùn)算符
① 短路作用
$a = true || $b == 3; // 前面是 true,后面不會(huì)執(zhí)行【|| : 一真為真】 $b = false && $a == 1; // 前面是 false,后面不會(huì)執(zhí)行【&&:一假為假】
② ||
和 &&
與 or
和 and
的優(yōu)先級(jí)不同
// 先執(zhí)行 false || true,得到 true,再賦值給 $a $a = false || true; // $a = true; // 先執(zhí)行 $b = false,整體為 true,則 $b的值為 false $b = false or true; // $b = false;
推薦學(xué)習(xí):《PHP視頻教程》