$x
三項演算子を使用してインクリメントするにはどうすればよいですか?
試してみまし$x = $x==2 ? 0 : ++;
たが、明らかにうまくいきませんでした。
if($x == 2 ){
$x=0;
}else{
$x++;
}
ありがとう。
$x
三項演算子を使用してインクリメントするにはどうすればよいですか?
試してみまし$x = $x==2 ? 0 : ++;
たが、明らかにうまくいきませんでした。
if($x == 2 ){
$x=0;
}else{
$x++;
}
ありがとう。
これを行う最良の方法は次のとおりです。
$x = $x === 2 ? 0 : $x+1;
var をインクリメントするためだけに 3 進数を使用することを主張する場合:
$x += $x === 2 ? $x*(-1) : 1;//or hard-code -2 instead of $x*(-1)
これは $x に 1 を$x
加算するか、または$x*-1
$x ($x + (-$x)
は 0) に加算します。ただし、全体として、3 進数 (特に PHP の場合) はできるだけ避ける必要があることを追加したいと思います。この場合、次のように記述します。
if (++$x === 3)
{
$x = 0;
}
まったく同じことを行い、それほど多くのコードはありませんが、見た目はずっと良くなっています。それでも、if ステートメントのインクリメントはまだ厄介です。事前にインクリメントするのが最善です。または:
$x = $x === 2 ? -1 : $x;
$x++;
もしあなたが 3 項に対する奇妙な好みを持っているなら...そしてそれがワンライナーでなければならないなら:
$x = ($x ===2 ? -1 : $x) +1;
も動作します...しかし、これらの種類のコードゴルフサイトがあります...
そのためにモジュール演算子を使用しないのはなぜですか?
$x = ++$x % 2;