Oggi stavo giocando con PHP e ho scoperto che i valori di stringa "true" e "false" non sono analizzati correttamente in booleano in una condizione, ad esempio considerando la seguente funzione:
function isBoolean($value) {
if ($value) {
return true;
} else {
return false;
}
}
Se eseguo:
isBoolean("true") // Returns true
isBoolean("") // Returns false
isBoolean("false") // Returns true, instead of false
isBoolean("asd") // Returns true, instead of false
Sembra funzionare solo con i valori "1" e "0":
isBoolean("1") // Returns true
isBoolean("0") // Returns false
Esiste una funzione nativa in PHP per analizzare le stringhe "true" e "false" in booleane?
true
anche se a un lettore umano, sembrerebbe più intuitivo che significasse FALSE
.
isBoolean("")
dovrebbe restituire false.