簡単なプロジェクトに取り組み、その目的はうるう年かどうかを調べることです。PHP では、標準の elseif ステートメントではなく 3 項を使用しようとしました。
$year = 2000;
$is_leapYear = ($year%400 == 0)? true: ($year%100 == 0)? false: ($year % 4 == 0);
echo ($year % 400 == 0) .'.'. ($year % 100 == 0) .'.'. ($year % 4 ==0);
echo $year . ' is ' . ($is_leapYear ? '' : 'not') . ' a leap year';
括弧がないため、これが機能しないことがわかりました。正しい解決策は次のとおりです。
$is_leapYear = ($year % 400 == 0)? true: (($year % 100 == 0)? false: ($year%4 == 0));
true
私の質問は、三項演算子が上部またはfalse
分岐に括弧を必要とするのはなぜですか? 上記のコードはあいまいではないと思います。