PHP fait écho aux valeurs booléennes avec précision
En PHP, la conversion d'une valeur booléenne en chaîne entraîne généralement "1" ou une chaîne vide selon sur sa véracité. Cependant, certains cas peuvent nécessiter l'impression explicite de "false" alors que la valeur booléenne est effectivement fausse.
Considérez le code suivant :
$bool_val = (bool)false; echo $bool_val;
Ce code ne produira rien, car la conversion de false en une chaîne donne une chaîne vide. De même, pour true, la conversion en chaîne donne "1".
Solutions alternatives
Pour faire écho explicitement à "false" ou "0" lorsque la valeur booléenne est false, les options suivantes peuvent être utilisées :
echo $bool_val ? 'true' : 'false';
Cet opérateur ternaire évalue la valeur de $bool_val et renvoie "true" si c'est vrai, ou "false" si c'est faux.
echo $bool_val ?? 'false';
L'opérateur de fusion, introduit dans PHP 7.0, renvoie la première valeur non nulle de ses arguments. Dans ce cas, si $bool_val est faux (ce qui donne la valeur null), la chaîne "faux" sera renvoyée.
echo !$bool_val ? 'false' : '';
Cette technique utilise l'opérateur logique « non » pour inverser la valeur booléenne. Si $bool_val est faux, il sera inversé en vrai, ce qui amènera l'opérateur conditionnel à évaluer "faux".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!