偶爾遇到這個,查了一下,因此就摘錄了。php
邏輯運算符無非是將值進行邏輯運算。還有其它用法嗎?首先讓咱們先看一下下面的代碼,而後咱們再一塊兒展開話題。提早給出結論就是(&&)or(||)」這兩種運算符在程序中能夠加快PHP代碼的運行速度。html
首先,我給出一段代碼: 函數
爲何會產生這樣的結果呢?若是按照日常的方法,咱們最少要用個IF語句來判斷。可如今只是兩個邏輯運算就會把變量的值給改變了。下面咱們來分析一下它的運行原理。spa
在參與邏輯運算的兩邊表達式中,是按照從左到右順序進行運算的。而「與」運算中只要有一個是假,整個表達式的結果爲假。因此,當左邊表達式爲假時,就無 需再進行運算了。這樣的處理無疑對程序的運行效率是大有好處的。因此說正如題目所說,是一種高效的用法。而邏輯或就不一樣了:只要一個爲真那整個表達式就爲 真。因此,在左邊爲假的狀況下,還要運行右邊的表達式判斷。明白或理解了上面所說,也就對結果不感到奇怪了。htm
上面的例子固然能夠經過條件判斷語句來實現,如今的狀況一 個是減小了代碼的量,最主要的是增長了程序的執行效率。掌握這一點的關鍵就是表達式的運行方向,是從左到右。當第一個值決定整個表達式的值時就會中止運 行。值得說明的是右邊能夠是一個表達式,也能夠是一個函數,但不能是一系列的語句組合或輸出語句。畢竟它仍是邏輯表達式的一個組成部分。string
最後,咱們作如下總結:
對於「與」(&&) 運算: x && y 當x爲false時,直接跳過,不執行y;
對於「或」(||) 運算 : x||y 當x爲true時,直接跳過,不執行y。it
最後,一塊兒總結就是反之亦然。class
來源:http://www.365testing.com/HTML/kaifa/PHP/PHPjichu/2010_1225_10471.htmltest