錯誤控制符
php支持一個錯誤運算符@放在php表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉
php運算符的優先級
運算符優先級
建議著重記憶
遞增/遞減>!>算數運算符>大小比較>(不)相等比較>引用>位運算符(^)>位運算符(|)>邏輯與>邏輯或>三目運算符>賦值>and>xor>or
<?php
$x=TRUE;
$y=FALSE;
$z = $y OR $x;
var_dump($z);
?>
這個是FALSE
<?php
$x=TRUE;
$y=FALSE;
$z = $y || $x;
var_dump($z);
?>
這個是true
括號的使用可以增加代碼可讀性,推薦使用
延伸考點比較運算符
==和===的區別
if ('==false') {
echo ''} elseif('0'==) {
}
false的七種情況都是等值的
遞增/遞減運算符不影響布爾值
遞減對Null值沒有效果
遞增null值為1
遞增和遞減在前就先運算符后返回,反之就先返回,后運算
邏輯運算符
短路作用
||和&&與or和and的優先級不同
$a=true||$b==3;前面是true后面就不執行了
$b=false&&$a==1;前面是false后面就不執行了
|| && and or
$a=false||true; true
$b=false or true; false 先執行$b=false 后執行true所以為false
解題方法重點記憶遞增/遞減運算符的運算規則
真題
下列程序中寫出打印輸出的結果
<?php
$a=0;
$b=0;
if ($a=3>0||$b=3>0) {
$a++;
$b++;
echo $a."\n";
echo $b."\n";
}
此時>號的優先級大于||的優先級大于賦值運算=
$a=true $b=0;
$a++ true 1 bole(true)
$b+1 1 int(1)
所以1 1
- 空白目錄
- 安裝
- linux下安裝nginx
- linux下安裝php
- 調試
- windows 安裝wamp
- 常用源
- 類型
- Boolean布爾類型
- Integer整型
- Float浮點型
- String字符串
- Array數組
- Object對象
- Resource資源類型
- NULL
- Callback/Callable類型
- 類型轉換
- 變量
- 預定義變量
- 常量
- 魔術常量(預定義常量)
- 語法
- 運算符
- 流程控制
- 條件語句
- if
- else
- else if/elseif
- switch
- 循環語句
- while
- do-while
- for
- foreach
- break
- return
- continue
- require
- include
- require_once
- include_once
- 函數
- 內置函數
- 匿名函數
- 自定義函數
- 類與對象
- 屬性
- 聲明
- public
- protected
- private
- 類常量
- 方法
- 魔術方法
- __construct()
- __destruct()
- __call()
- __callStatic()
- __get()
- __set()
- __isset()
- __unset()
- __sleep()
- __wakeup()
- __toString()
- __invoke()
- __set_state()
- __clone()
- __debugInfo()
- 方法的調用
- ->(對象運算符)
- ::(范圍解析操作符)
- 設計模式
- 依賴注入
- call_user_func
- is_callable (
- 創建型模式
- 工廠方法模式
- 抽象工廠模式
- 單例模式
- 建造者模式
- 原型模式
- 結構性模式
- 適配器模式
- 裝飾器模式
- 代理模式
- 外觀模式
- 橋接模式
- 組合模式
- 享元模式
- 行為型模式
- 策略模式
- 模板方法模式
- 觀察者模式
- 迭代子模式
- 責任鏈模式
- 命令模式
- 備忘錄模式
- 訪問者模式
- 中介者模式
- 解釋器模式
- 六大原則
- uml語言
- 反射
- 類型約束
- 調試
- lamp
- lnmp
- composer
- 工作常用
- UML圖
- 常見問題