Dans PHP, la fonction sprintf est utilisée pour formater les chaînes, ce qui permet d'appliquer le format spécifié aux variables et renvoie la chaîne formatée. Dans le développement réel, nous utilisons souvent la fonction sprintf pour formater la sortie, y compris les nombres, les chaînes, les booléens et les valeurs nuls . Cependant, différents types de valeurs sont gérés différemment dans le sprintf , en particulier les valeurs booléennes et nulles .
Cet article explorera comment la fonction Sprintf gère les valeurs booléennes et nulles et analyse la situation spécifique.
La syntaxe de base de la fonction sprintf est la suivante:
sprintf(string $format, mixed ...$values): string
où $ format est une chaîne formatée qui définit le format de la sortie. $ valeurs est une ou plusieurs valeurs transmises à une chaîne de format. Les symboles de mise en forme communs comprennent:
% s : représente une chaîne
% D : représente un entier décimal signé
% f : représente un numéro de point flottant
% b : représente un nombre binaire
En PHP, le booléen peut être vrai ou faux , mais comment le gérera-t-il lors de la mise en forme du booléen avec sprintf ?
Valeur booléenne vraie
Lorsque le booléen est vrai , Sprintf le convertit en chaîne "1" . En effet, en PHP, la valeur correspondante de True est 1 .
Valeur booléenne fausse
Lorsque la valeur booléenne est fausse , Sprintf le convertit en chaîne "0" car en php, la valeur correspondante de false est 0 .
$trueValue = true;
$falseValue = false;
echo sprintf("Valeur booléenne true Formaté comme:%s\n", $trueValue); // Sortir: Valeur booléenne true Formaté comme:1
echo sprintf("Valeur booléenne false Formaté comme:%s\n", $falseValue); // Sortir: Valeur booléenne false Formaté comme:0
Dans le code ci-dessus, True et False sont formatés en "1" et "0" , ce qui est cohérent avec les performances des valeurs booléennes en PHP.
Dans PHP, NULL est un type spécial utilisé pour représenter une variable sans valeur. Lorsque NULL est formaté à l'aide de Sprintf , NULL est converti en une chaîne "" (chaîne vide).
$nullValue = null;
echo sprintf("null Formaté comme:%s\n", $nullValue); // Sortir: null Formaté comme:
Comme indiqué ci-dessus, la valeur nul est convertie en une chaîne vide dans sprintf et il n'y a pas de sortie.
Lors de la mise en forme des valeurs booléennes et nulles , nous devons faire attention aux points suivants:
Le booléen True sera converti en "1" et False sera converti en "0" , qui peut avoir des effets différents dans certains scénarios où la valeur booléenne est requise.
Null sera formaté comme une chaîne vide "" . Si vous souhaitez afficher une valeur spécifique après la mise en forme, vous pouvez porter des jugements conditionnels avant la mise en forme.
$nullValue = null;
$formattedNull = sprintf("null valeur: %s", $nullValue === null ? '无valeur' : $nullValue);
echo $formattedNull; // Sortir: null valeur: 无valeur
Dans cet exemple, nous remplaçons la valeur nul par une chaîne personnalisée «aucune valeur» par jugement conditionnel, afin que nous puissions nous assurer que Null n'apparaît pas comme une chaîne vide lors du formatage de la chaîne.
Grâce à l'analyse ci-dessus, nous pouvons voir:
Les valeurs booléennes sont converties en "1" ( true ) ou "0" ( false ) dans sprintf .
La valeur nul dans Sprintf sera convertie en une chaîne vide "" .
Par conséquent, il est très important de comprendre ce comportement de Sprintf , en particulier en ce qui concerne les valeurs booléennes et nulles , nous devons clarifier comment ils sont traités, afin d'éviter que la sortie formatée ne réponde pas aux attentes.