Подтвердить что ты не робот

Логический переключатель значений/инвертирование

Есть ли функция для переключения/инвертирования значения boolean в PHP?

Как... ярлык для:

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

Ответ 1

Да:

$boolean = !$boolean;

Если это не логическое значение, вы можете использовать тройную конструкцию:

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

Ответ 2

Как насчет использования функции абсолютного значения abs(), $val может быть "1" или "0", и вы хотите его инвертировать:

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

Логика:

Всегда вычитая "1" из числа и исключая "знак".

1 - 1 = 0
abs(0) = 0

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

Ответ 3

Если вам нужен самый короткий код, XOR - логическое значение с 1:

$boolean ^= 1;

Строго это возвращает int не логическое. Он работает не так, как $boolean = !$boolean (и немного менее эффективен), но для большинства целей он должен выполнять эту работу.

Ответ 4

Просто используйте !, чтобы инвертировать результат, чтобы он выглядел так:  $ boolean =! (bool) $result;

Ответ 5

Выбор одного логического буфера:

$detector =! $picker = $detector;

Ответ 6

bool может иметь значение TRUE или FALSE.

Используйте этот

use: (boolean) $red = varbool (false);
        echo $red;

для true он вернет нуль и один для false

function varbool($val){ 

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

Спасибо...