Dans la programmation PHP, Sprintf est une fonction très puissante qui vous permet de formater des valeurs variables en chaînes basées sur un format spécifique. En développement, nous devons souvent formater la sortie, comme le format d'affichage des nombres, la méthode de sortie des dates, etc. Pour le moment, Sprintf peut jouer un rôle. Cet article vous emmènera dans la compréhension plus profonde de la fonction Sprintf et de ses espaces réservés à formater.
Les fonctions PRINTF et Sprintf sont toutes deux outils utilisés pour formater la sortie en PHP, mais ils ont quelques différences. Printf sortira directement la chaîne formatée, tandis que Sprintf renvoie la chaîne formatée. Plus précisément, la syntaxe de Sprintf est la suivante:
sprintf(string $format, mixed ...$values): string
$ format : chaîne de format, contenant des espaces réservés formatés.
$ Valeurs : un ensemble de variables au format.
Dans la fonction sprintf , l'espace réservé formaté commence par un pourcentage de signe ( % ) et peut être suivi de certains modificateurs pour contrôler la façon dont la sortie est sortie. Voici quelques espaces réservés communs et leurs fonctions.
Si vous souhaitez formater un entier, vous pouvez utiliser % d . Il formate la valeur d'entrée dans un entier décimal.
$number = 100;
echo sprintf("Number: %d", $number); // Sortir:Number: 100
Si vous avez besoin de formater des flotteurs, vous pouvez utiliser % f . Vous pouvez également contrôler le nombre de décimales des nombres de points flottants, à l'aide de modificateurs de format.
$pi = 3.14159265;
echo sprintf("Pi: %.2f", $pi); // Sortir:Pi: 3.14
Si vous devez insérer la chaîne dans le résultat formaté, utilisez % s .
$name = "Alice";
echo sprintf("Hello, %s!", $name); // Sortir:Hello, Alice!
Si vous souhaitez convertir les nombres en représentation hexadécimale, utilisez % x ou % x . Parmi eux, % x sortira des lettres minuscules, tandis que % x sortira des lettres majuscules.
$number = 255;
echo sprintf("Hex: %x", $number); // Sortir:Hex: ff
echo sprintf("Hex: %X", $number); // Sortir:Hex: FF
Si vous devez convertir les entiers en représentation binaire, utilisez % b .
$number = 10;
echo sprintf("Binary: %b", $number); // Sortir:Binary: 1010
En plus des espaces réservés communs, Sprintf prend également en charge une variété de modificateurs de format pour contrôler la largeur de sortie, l'alignement, les caractères de remplissage, etc. Par exemple:
% 5D : Sortie en entier à au moins 5 caractères de large, sinon suffisant, remplissez la gauche avec des espaces.
% 05D : Sortie en entier pour comporter au moins 5 caractères de large, sinon suffisant, remplissez le côté gauche de zéros.
% -5d : Sortie en entier pour comporter au moins 5 caractères de large, sinon suffisant, remplissez le bon espace.
% +. 2f : Forcer le numéro de point flottant pour afficher les symboles.
$number = 42;
echo sprintf("|%5d|", $number); // Sortir:| 42|
echo sprintf("|%-5d|", $number); // Sortir:|42 |
echo sprintf("|%05d|", $number); // Sortir:|00042|
Supposons que nous devons intégrer une URL dans la sortie et nécessiter le nom de domaine dans toutes les URL pour être remplacé par gitbox.net . Voici un exemple d'implémentation:
$url = "https://example.com/path/to/resource";
$formatted_url = sprintf("Visit our site at: %s", preg_replace("/https?:\/\/[^\/]+/", "https://gitbox.net", $url));
echo $formatted_url; // Sortir:Visit our site at: https://gitbox.net/path/to/resource
Ce code remplace d'abord la pièce de nom de domaine dans l'URL par Gitbox.net via preg_replace , puis utilise sprintf pour sortir le résultat formaté final.
La fonction Sprintf de PHP est très puissante et peut nous aider à formater de manière flexible les données en fonction du format spécifié. Qu'il s'agisse d'un entier, un numéro de point flottant, une chaîne ou des formats de données plus complexes, il peut être sorti avec des espaces réservés et des modificateurs de format appropriés. La maîtrise de la fonction Sprintf peut rendre votre programmation PHP plus pratique.