PHPでboolean
値を切り替え/反転する関数はありますか?
のような...のショートカット:
if($boolean === true){
$boolean = false;
}else{
$boolean = true;
}
はい:
$boolean = !$boolean;
ブール値でない場合は、3項構造を使用できます。
$int = ($some_condition ? 1 : 2); // if $some_condition is true, set 1
// otherwise set 2
最短のコードが必要な場合は、XOR
$boolean ^= 1;
厳密には、ブール値ではなくintを返します。 $boolean = !$boolean
と同じようには機能しませんが(効率はやや劣ります)、ほとんどの目的で機能します。
絶対値関数abs()
の使用についてはどうでしょうか。
$val = abs($val-=1);
ロジック:
常に数値から「1」を減算し、「符号」を削除します。
1 - 1 = 0
abs(0) = 0
0 - 1 = -1
abs(-1) = 1
!
を使用して結果を反転するだけで、次のようになります。$ boolean =!(bool)$ result;
ブールのワンタッチピック:
$ detector =!$ picker = $ detector;
あなたは1行でそれを行うことができます:
<?php
$val = 0
$val = $val ==1?0:1;
?>