php條件判斷中同時有"與、或",優先權是怎樣的?
例如:
if ($article->user_id == Auth::id() && $article->status==0 || $article->expired_at < Carbon::now())
{
$article->delete();
return back();
}
if語句中有3個條件:
$article->user_id == Auth::id() //文章属于该登录用户
$article->status==0 //文章的status字段为0
$article->expired_at < Carbon::now() //文章已过期
我想表達的是第1個條件要滿足,第2、3個條件只要滿足一個。
問題就是應該怎麼寫這個條件語句,上面if()
程式碼中那樣寫對嗎?
根據PHP手冊:運算子優先權頁面顯示,優先權是
与
>或
;所以題主的程式碼可以這樣寫:
if
的判斷語句不要寫得太長,閱讀性不好;參考手冊
建議2、3個條件用括號擴大
雷雷
與的優先權大於或
雷雷