Aujourd'hui, je jouais avec PHP, et j'ai découvert que les valeurs de chaîne "true" et "false" ne sont pas correctement analysées en booléen dans une condition, par exemple en considérant la fonction suivante:
function isBoolean($value) {
if ($value) {
return true;
} else {
return false;
}
}
Si j'exécute:
isBoolean("true") // Returns true
isBoolean("") // Returns false
isBoolean("false") // Returns true, instead of false
isBoolean("asd") // Returns true, instead of false
Cela ne semble fonctionner qu'avec les valeurs "1" et "0":
isBoolean("1") // Returns true
isBoolean("0") // Returns false
Existe-t-il une fonction native en PHP pour analyser les chaînes "true" et "false" en booléen?
true
même si pour un lecteur humain, cela semblerait plus intuitif que cela signifiait FALSE
.
isBoolean("")
doit retourner false.