php或且非執行機制(短路機制)

2021-07-15 02:23:57 字數 1633 閱讀 8156

ps:本人親測,阿里雲2核4g5m的伺服器價效比很高,新使用者一塊多一天,老使用者三塊多一天,最高可以買三年,感興趣的可以戳一下:阿里雲折扣伺服器

$a and $b	and(邏輯與)	true,如果 $a 和 $b 都為 true。

$a or $b or(邏輯或) true,如果 $a 或 $b 任一為 true。

$a xor $b xor(邏輯異或) true,如果 $a 或 $b 任一為 true,但不同時是。

! $a not(邏輯非) true,如果 $a 不為 true。

$a && $b and(邏輯與) true,如果 $a 和 $b 都為 true。

$a || $b or(邏輯或) true,如果 $a 或 $b 任一為 true。

// --------------------

// foo() 根本沒機會被呼叫,被運算子「短路」了

$a = (false && foo());

$b = (true || foo());

$c = (false and foo());

$d = (true or foo());

// --------------------

// "||" 比 "or" 的優先順序高

// 表示式 (false || true) 的結果被賦給 $e

// 等同於:($e = (false || true))

$e = false || true;

// 常量 false 被賦給 $f,true 被忽略

// 等同於:(($f = false) or true)

$f = false or true;

var_dump($e, $f);

// --------------------

// "&&" 比 "and" 的優先順序高

// 表示式 (true && false) 的結果被賦給 $g

// 等同於:($g = (true && false))

$g = true && false;

// 常量 true 被賦給 $h,false 被忽略

// 等同於:(($h = true) and false)

$h = true and false;

var_dump($g, $h);

?>

以上例程的輸出類似於:

bool(true)

bool(false)

bool(false)

bool(true)

注意:$a = 3;

$b = !$a || $a;

這時$b等於3

$a = 「」;

$b = !$a || $a;

這時$b等於true

$a = 3;

$b = !$a && $a;

這時$b等於false

$a = 「」;

$b = !$a && $a;

這時$b等於」」(空值)

$a = 「」;

$b = $a || $a;

這時$b等於」」(空值)

$a = 「」;

$b = $a && $a;

這時$b等於」」(空值)

PHP的執行機制

php和python ruby的執行機制有乙個本質區別 php是每次http請求過來以後,初始化全部資源 例如建立資料庫鏈結 載入系統類庫,建立快取等等 處理完畢,釋放全部資源,這不像python ruby之類帶有gc的指令碼語言,python ruby是初次啟動的時候初始化資源,隨後的請求就不必再...

理解PHP的執行機制

php是一種純解釋型在服務端執行的可以內嵌html的指令碼語言,尤其適合開發web應用程式。請求乙個 php 指令碼時,php 會讀取該指令碼,並將其編譯為 zend 操作碼,這是要執行的 的一種二進位制表示形式。隨後,此操作碼由 php 執行並丟棄。php指令碼在每次被解釋時進行初始化,在解釋完畢...

session執行機制

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表 的結構 也可能就是使用 雜湊表 來儲存資訊。當程式需要為某個客戶端的請求建立乙個session的時候,伺服器首先檢查這個客戶端的請求裡是否已包含了乙個session標識 稱為sessionid,如果已包含乙個sessionid則說明...