布尔值开关/反转

有没有在PHP中切换/颠倒boolean值的函数?

喜欢…一个捷径:

 if($boolean === true){ $boolean = false; }else{ $boolean = true; } 

是:

 $boolean = !$boolean; 

如果它不是一个布尔值,你可以使用三元结构:

 $int = ($some_condition ? 1 : 2); // if $some_condition is true, set 1 // otherwise set 2 

如果你想要尽可能短的代码,用1:

 $boolean ^= 1; 

严格地说,这返回一个int不是一个布尔值。 它不会像$boolean = !$boolean (效率稍低),但是对于大多数目的而言,它应该可以完成这项工作。

那么如何使用绝对值函数abs() ,$ val可以是“1”或“0”,你想反转它:

 $val = abs($val-=1); 

逻辑:

始终从数字中减去“1”并消除“符号”。

 1 - 1 = 0 abs(0) = 0 0 - 1 = -1 abs(-1) = 1 

只要用! 反转结果,所以它可以是这样的:$布尔=!(布尔)$结果;

一键式布尔:

$ detector =!$ picker = $ detector;

布尔可以是TRUE或FALSE。

使用这个

用法: (boolean)$ red = varbool(false);
echo $ red;

为true,它将返回零,一个为false

 function varbool($val){ $val +=(-1); $val *= (-1); return $val; } 

谢谢 …