Existe-t-il une fonction permettant de changer/inverser la valeur boolean
en PHP?
Comme ... un raccourci pour:
if($boolean === true){
$boolean = false;
}else{
$boolean = true;
}
Oui:
$boolean = !$boolean;
si ce n'est pas une valeur booléenne, vous pouvez utiliser la construction ternaire:
$int = ($some_condition ? 1 : 2); // if $some_condition is true, set 1
// otherwise set 2
Qu'en est-il de l'utilisation de la fonction Valeur absolue abs()
, $ val peut être "1" ou "0" et vous souhaitez l'inverser:
$val = abs($val-=1);
La logique:
Toujours soustraire "1" du nombre et éliminer le "signe".
1 - 1 = 0
abs(0) = 0
0 - 1 = -1
abs(-1) = 1
Si vous voulez le code le plus court possible, XOR le booléen avec 1:
$boolean ^= 1;
Strictement cela retourne un int pas un booléen. Cela ne fonctionne pas de la même manière que $boolean = !$boolean
(et est légèrement moins efficace), mais dans la plupart des cas, cela devrait faire l'affaire.
Utilisez simplement !
pour inverser le résultat afin qu'il ressemble à: $ boolean =! (bool) $ result;
Une touche de booléen:
$ détecteur =! $ sélecteur = $ détecteur;
vous pouvez le faire en une seule ligne:
<?php
$val = 0
$val = $val ==1?0:1;
?>