日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php or || 和 and

發布時間:2025/3/21 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php or || 和 and 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

追溯代碼時遇到這個坑,一直是略有懵懂,那就填了這個坑.

1 if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.'config/'.ENVIRONMENT.'/database.php')

一? 語法

  邏輯運算符.

運算符名稱例子結果
AND邏輯與$x and $y$x 和 $y 都為 true,則返回 true
&&邏輯與$x && $y$x 和 $y 都為 true,則返回 true
OR邏輯或$x or $y$x 和 $y 至少有一個為 true,則返回 true
||邏輯或$x || $y$x 和 $y 至少有一個為 true,則返回 true

  表面看兩組操作符沒有差異.但是

The reason for the two different variations of "and" and "or" operators is that they operate at different precedences. (See Operator Precedence.)

就是優先級不同啦;查優先級表看下,

                

排序 && > || > = > and > or .

充電完畢;

二 例子

3 $a1 = true; 4 $a2 = false; 5 6 $b1 = true; 7 $b2 = false; 8 9 var_dump($a1 AND $a2); //false 10 var_dump($a1 && $a2); //false 11 12 var_dump($a1 OR $a2); //true 13 var_dump($a1 || $a2); //true

跟預想的一樣.那么坑在哪里

1 $a = $a1 OR $a2;    //true   2 $a = $a2 OR $a1;    //false 坑1 3 $a = $a1 || $a2;     //true 4 5 $b = $b1 AND $b2; //true 6 $b = $b2 AND $b1; //false 坑2 7 $b = $b1 && $b2; //false


所以一定注意啊,邏輯判斷的時候放好括號啊

三? 回到咱們的代碼里

1 if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = BASEPATH.'config/'.ENVIRONMENT.'/database.php') '=' 在file_exists()的括號內,絕對沒有其他'=' 來擾亂判斷結果.那么關注點就是短路了. 短路:在OR邏輯中,有1個為true,則結果為true,另外一個不再進行運算.
1 短路運用 2 defined('ENV') or die('env not defined!'); 3 defined('ENV') or define('ENV','DEVELOP'); AND 理論上沒有短路,因為需要至少兩個條件都為真,才成立. 后面的條件是判斷的一部分,不能作為短路語句使用了.

四. 坑.
 
and && OR || 在作為判斷條件的時候由于跟=優先級的問題,不可避免的會是一個坑.

1 舉例: 2 $a = 0; 3 $b = 0; 4 if ($a =4 || $b =5){ 5   echo $a,$b; 6 } 因為 || 優先級大于 = ,計算順序如下

1. 1 || $b //always true
2. $a = true, 返回 $b=5 不執行計算.

思考:

  我理解中,計算完第一步之后,條件expr 變為 $a = true = 5 ,這毫無疑問是一個syntax error ,怎么可以正常的做為判斷條件了呢?

  看到的各位不妨探討下.

轉載于:https://www.cnblogs.com/liuyuxing/p/4997719.html

總結

以上是生活随笔為你收集整理的php or || 和 and的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。