php條件判斷中同時有"與、或",優(yōu)先權(quán)是怎樣的?
例如:
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個條件只要滿足一個。
問題就是應(yīng)該怎麼寫這個條件語句,上面if()
程式碼中那樣寫對嗎?
根據(jù)PHP手冊:運算子優(yōu)先權(quán)頁面顯示,優(yōu)先權(quán)是與
> 或
;
所以題主的程式碼可以這樣寫:
$isAuthor = $article->user_id == Auth::id();
$isValid = $article->status==0 || $article->expired_at < Carbon::now();
if ($isAuthor && $isValid)
{
$article->delete();
return back();
}
if
的判斷語句不要寫得太長,閱讀性不好;