Есть ли функция для переключения / инвертирования boolean
значения в PHP?
Как … ярлык для:
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
Если вам нужен самый короткий код, XOR – логическое значение с 1:
$boolean ^= 1;
Строго это возвращает int not boolean. Он работает не так, как $boolean = !$boolean
(и немного менее эффективен), но для большинства целей он должен выполнять эту работу.
Что касается использования функции Absolute Value abs()
, $ val может быть «1» или «0», и вы хотите его инвертировать:
$val = abs($val-=1);
Логика:
Всегда вычитая «1» из числа и исключая «знак».
1 - 1 = 0 abs(0) = 0 0 - 1 = -1 abs(-1) = 1
Просто используйте !
чтобы инвертировать результат так, чтобы он выглядел так: $ boolean =! (bool) $ result;
Один выбор из булевых:
$ detector =! $ picker = $ детектор;
bool может быть TRUE или FALSE.
Используйте это
use : (boolean) $ red = varbool (false);
echo $ red;
для true он вернет нуль и один для false
function varbool($val){ $val +=(-1); $val *= (-1); return $val; }
Спасибо …