cari

Rumah  >  Soal Jawab  >  teks badan

laravel - Terdapat "dan, atau" dalam penghakiman bersyarat PHP pada masa yang sama.

Terdapat "dan, atau" dalam penghakiman bersyarat PHP pada masa yang sama Apakah keutamaan?

Contohnya:

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

Terdapat 3 syarat dalam pernyataan if:

$article->user_id ==  Auth::id()      //文章属于该登录用户
$article->status==0                   //文章的status字段为0
$article->expired_at < Carbon::now()  //文章已过期

Apa yang ingin saya nyatakan ialah syarat pertama mesti dipenuhi, dan hanya satu syarat kedua dan ketiga mesti dipenuhi.

Persoalannya ialah bagaimana untuk menulis pernyataan bersyarat ini Adakah betul untuk menulisnya seperti dalam kod if() di atas?

習慣沉默習慣沉默2778 hari yang lalu582

membalas semua(5)saya akan balas

  • 怪我咯

    怪我咯2017-05-16 12:04:33

    Menurut manual PHP: Halaman keutamaan operator menunjukkan bahawa keutamaan adalah dan > atau ; >

    所以题主的代码可以这样写:

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

    ifJadi kod subjek boleh ditulis seperti ini:

    rrreee 🎜if pernyataan penghakiman tidak boleh terlalu panjang, kerana ia tidak boleh dibaca;🎜

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-05-16 12:04:33

    Manual Rujukan

    Adalah disyorkan untuk mengembangkan 2 dan 3 syarat dalam kurungan

    balas
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 12:04:33

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

    balas
    0
  • 世界只因有你

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

    dan mempunyai keutamaan yang lebih besar daripada atau

    balas
    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();
    }
    
    

    balas
    0
  • Batalbalas