En PHP, nous devons souvent faire face à la sortie formatée, en particulier lorsque vous traitez des nombres, un rembourrage zéro est une exigence commune. PHP fournit une fonction très puissante Sprintf pour implémenter la sortie formatée des chaînes, qui peut facilement implémenter l'exigence de remplissage de zéros avant les entiers.
Les fonctions printf et sprintf sont deux fonctions de formatage de chaîne couramment utilisées dans PHP. printf est utilisé pour sortir une chaîne formatée, tandis que Sprintf renvoie une chaîne formatée. Ils sont utilisés presque de la même manière, la différence est que l'une est la sortie directe et l'autre est la valeur de retour.
En utilisant Sprintf , nous pouvons spécifier la largeur minimale du nombre et nécessiter des zéros pour être remplis avant le numéro. Cette fonction est généralement utilisée lorsque nous traitons les numéros de téléphone, les dates, les numéros de commande, etc.
$number = 5;
$formattedNumber = sprintf("%03d", $number);
echo $formattedNumber; // Sortir 005
Dans l'exemple ci-dessus, nous avons utilisé % 03d pour spécifier le format. La signification du format est la suivante:
% indique le début du spécificateur de format.
0 signifie que zéro rembourrage est utilisé.
3 signifie que la largeur est 3.
D représente le format entier.
De cette façon, le numéro 5 sera formaté à 005 , c'est-à-dire que deux zéros sont remplis avant le nombre jusqu'à ce qu'il atteigne un numéro à 3 chiffres.
En modifiant la largeur, différents nombres peuvent être formatés. Voici quelques exemples:
$number1 = 42;
$number2 = 7;
echo sprintf("%05d", $number1); // Sortir 00042
echo sprintf("%05d", $number2); // Sortir 00007
Dans cet exemple, le numéro 42 est rempli de 00042 et 7 est rempli de 00007 , garantissant que la sortie est toujours à 5 chiffres.
Supposons que vous développez un système de téléchargement de fichiers avec des noms de fichiers, y compris un nombre disposé dans l'ordre, vous devrez peut-être vous assurer que le numéro a toujours un certain nombre de chiffres. Pour le moment, vous pouvez utiliser Sprintf pour répondre à cette exigence.
$fileNumber = 8;
$fileName = sprintf("file_%03d.txt", $fileNumber);
echo $fileName; // Sortir file_008.txt
Dans cet exemple, le nom de fichier fichier_008.txt est formaté, garantissant que la pièce numérotée est toujours à 3 chiffres.
Nombre négatif : Sprintf peut également gérer des nombres négatifs. Par exemple, Sprintf ("% 03d", -5) sortira -05 .
Numéro de point flottant : pour les numéros de point flottants, vous pouvez utiliser un format similaire à % .2f pour spécifier le nombre de chiffres après le point décimal.
Formatage des chaînes : En plus des nombres, Sprintf prend également en charge les chaînes de formatage, les dates, etc.
L'utilisation de la fonction sprintf rend très pratique pour formater les nombres et remplir les zéros, garantissant que les nombres maintiennent toujours une largeur fixe lors de la sortie. Ceci est très utile pour gérer des scénarios tels que le numéro de commande, le numéro d'identification et le numéro de flux. Avec un contrôle de format flexible, vous pouvez facilement obtenir des formats de sortie qui répondent à vos besoins.
Une séparation horizontale a été ajoutée entre le corps et le reste de l'article.