recherche

Maison  >  Questions et réponses  >  le corps du texte

laravel - Il y a "et, ou" dans le jugement conditionnel PHP en même temps. Quelle est la priorité?

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 ?

習慣沉默習慣沉默2778 Il y a quelques jours578

répondre à tous(5)je répondrai

  • 怪我咯

    怪我咯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();
    }

    ifDonc le code du sujet peut s'écrire ainsi :

    rrreee 🎜La déclaration de jugement de if ne doit pas être trop longue, car elle ne sera pas lisible ;🎜

    répondre
    0
  • 仅有的幸福

    仅有的幸福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

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 12:04:33

    if(a && (b||c))
    {
        $article->delete();
        return back();
    }

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-16 12:04:33

    et a une priorité supérieure à ou

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 12:04:33

    if ($article->user_id ==  Auth::id() && ($article->status==0 || $article->expired_at < Carbon::now()))
    {
        $article->delete();
        return back();
    }
    
    

    répondre
    0
  • Annulerrépondre