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