Rumah > Soal Jawab > teks badan
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?
怪我咯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();
}
if
Jadi kod subjek boleh ditulis seperti ini:
if
pernyataan penghakiman tidak boleh terlalu panjang, kerana ia tidak boleh dibaca;🎜仅有的幸福2017-05-16 12:04:33
Manual Rujukan
Adalah disyorkan untuk mengembangkan 2 dan 3 syarat dalam kurungan
漂亮男人2017-05-16 12:04:33
if ($article->user_id == Auth::id() && ($article->status==0 || $article->expired_at < Carbon::now()))
{
$article->delete();
return back();
}