如何$x使用三元运算符递增?
我试过$x = $x==2 ? 0 : ++;但很明显它不起作用.
if($x == 2 ){
$x=0;
}else{
$x++;
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
最好的方法是:
$x = $x === 2 ? 0 : $x+1;
Run Code Online (Sandbox Code Playgroud)
如果你坚持使用三元组来增加var:
$x += $x === 2 ? $x*(-1) : 1;//or hard-code -2 instead of $x*(-1)
Run Code Online (Sandbox Code Playgroud)
这要么加1,$x要么加到$x*-1$ x($x + (-$x)是0).但总的来说,我想补充一点,尽可能避免使用三元组(特别是在PHP中).在这种情况下,写作:
if (++$x === 3)
{
$x = 0;
}
Run Code Online (Sandbox Code Playgroud)
不完全一样的东西,而不是说太多的代码,虽然它看起来要好很多.即便如此,if语句中的增量仍然是凌乱的,事先是最佳增量,或者:
$x = $x === 2 ? -1 : $x;
$x++;
Run Code Online (Sandbox Code Playgroud)
如果你已经有了ternaries一个奇怪的偏好...如果它有成为一个班轮:
$x = ($x ===2 ? -1 : $x) +1;
Run Code Online (Sandbox Code Playgroud)
也工作......但是有一个针对这类事情的代码高尔夫网站 ......