Maison > Questions et réponses > le corps du texte
Il y a des « et, ou » dans le jugement conditionnel PHP en même temps. Quelle est la priorité ?
Par exemple :
if ($article->user_id == Auth::id() && $article->status==0 || $article->expired_at < Carbon::now())
{
$article->delete();
return back();
}
Il y a 3 conditions dans l'instruction if :
$article->user_id == Auth::id() //文章属于该登录用户
$article->status==0 //文章的status字段为0
$article->expired_at < Carbon::now() //文章已过期
Ce que je veux exprimer, c'est que la première condition doit être remplie, et qu'une seule des deuxième et troisième conditions doit être remplie.
La question est de savoir comment écrire cette instruction conditionnelle. Est-il correct de l'écrire comme dans le if()
code ci-dessus ?
怪我咯2017-05-16 12:04:33
Selon le manuel PHP : la page de priorité de l'opérateur indique que la priorité est et
>
与
> 或
;
所以题主的代码可以这样写:
$isAuthor = $article->user_id == Auth::id();
$isValid = $article->status==0 || $article->expired_at < Carbon::now();
if ($isAuthor && $isValid)
{
$article->delete();
return back();
}
if
Donc le code du sujet peut s'écrire ainsi :
if
ne doit pas être trop longue, car elle ne sera pas lisible ;🎜仅有的幸福2017-05-16 12:04:33
Manuel de référence
Il est recommandé de développer les conditions 2 et 3 entre parenthèses
漂亮男人2017-05-16 12:04:33
if ($article->user_id == Auth::id() && ($article->status==0 || $article->expired_at < Carbon::now()))
{
$article->delete();
return back();
}