在一个简单的项目上工作,目标是确定它是否是闰年。在 PHP 中,我尝试使用三元而不是标准的 elseif 语句。
$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
分支上加括号?我不认为上面的代码是模棱两可的。