Maison >développement back-end >tutoriel php >Apprenez à utiliser la fonction sprintf() de PHP pour obtenir une sortie formatée

Apprenez à utiliser la fonction sprintf() de PHP pour obtenir une sortie formatée

王林
王林original
2023-06-27 08:12:122074parcourir

Dans le développement PHP, la standardisation et le formatage du contenu de sortie sont très importants, notamment lorsqu'il s'agit de types de données tels que la quantité, l'heure, etc. PHP fournit de nombreuses fonctions pour obtenir facilement ces sorties formatées, dont la fonction sprintf(). La fonction

sprintf() est une fonction de sortie formatée. Elle peut formater et afficher les paramètres suivants selon la chaîne de format spécifiée. Sa syntaxe est la suivante :

sprintf(format,arg1,arg2,......)

Parmi eux, format est une chaîne de format qui peut contenir un ou plusieurs spécificateurs de format. arg1, arg2, etc. sont des paramètres qui doivent être formatés.

Le spécificateur de format commence par le caractère %, suivi d'un caractère pour spécifier le type du paramètre. Les spécificateurs de format courants sont les suivants :

  • %s type de chaîne
  • %d type entier
  • %f type à virgule flottante
  • %c type de caractère
  • %b type binaire
  • %o type octal
  • %x Hexadécimal type
  • %e Type de notation scientifique

Par exemple, nous utilisons la fonction sprintf() pour générer une chaîne contenant le nom et l'âge, où le nom est de type chaîne et l'âge est de type entier. Vous pouvez écrire le code comme ceci :

$name = "Tom";
$age = 18;
echo sprintf("我的名字是%s,年龄是%d岁。",$name,$age);

Les résultats d'exécution sont les suivants :

我的名字是Tom,年龄是18岁。

Vous pouvez voir que la fonction sprintf() formate les paramètres en fonction de la chaîne de format spécifiée, la génère et remplace automatiquement l'espace réservé du spécificateur de format.

En plus des spécificateurs de format courants, la fonction sprintf() prend également en charge certaines balises et qualificatifs spéciaux, qui peuvent être utilisés pour contrôler finement le format de sortie. Par exemple, vous pouvez utiliser un point décimal suivi d'un nombre pour spécifier le nombre de décimales dans un nombre à virgule flottante, un signe plus (+) pour spécifier le signe d'un nombre positif ou négatif, des zéros pour combler les lacunes, etc. .

Voici quelques marques et qualificatifs spéciaux couramment utilisés :

  • Le point décimal est suivi d'un nombre, tel que %.2f, indiquant que deux décimales sont conservées
  • Le signe plus (+), tel que % +d, indiquant que les nombres positifs et négatifs sont affichés. Symbole
  • le signe moins (-), tel que %-10s, signifie un alignement à gauche et un remplissage des espaces à droite de l'espace réservé, avec une largeur totale de 10 caractères
  • zéro (0), tel que %04d, signifie à gauche de l'espace réservé Côté complété par des zéros, la largeur totale est de 4 caractères
  • signe dièse (#), tel que %#o, indiquant que l'octal de sortie est préfixé par 0
  • espace ( ), tel que %d, indiquant que les nombres positifs affichent des espaces et que les nombres négatifs affichent des signes

Ce qui suit est un exemple pratique pour montrer comment utiliser la fonction sprintf() pour une sortie formatée. Supposons que nous disposions d'un tableau d'informations sur la commande, qui comprend des champs tels que le numéro de commande, la date de la commande, le montant de la commande, etc. Nous souhaitons afficher les informations de commande sur la page sous la forme d'un tableau.

Définissez d'abord un tableau bidimensionnel $orders pour simuler la liste des informations de commande :

$orders = [
    ["order_no" => "20190813001", "order_date" => "2019-08-13", "order_amount" => 289.5],
    ["order_no" => "20190813002", "order_date" => "2019-08-13", "order_amount" => 1032],
    ["order_no" => "20190813003", "order_date" => "2019-08-13", "order_amount" => 760.85],
    ["order_no" => "20190814001", "order_date" => "2019-08-14", "order_amount" => 948.5],
    ["order_no" => "20190814002", "order_date" => "2019-08-14", "order_amount" => 213.75],
    ["order_no" => "20190814003", "order_date" => "2019-08-14", "order_amount" => 657.9],
    ["order_no" => "20190815001", "order_date" => "2019-08-15", "order_amount" => 1368.25],
    ["order_no" => "20190815002", "order_date" => "2019-08-15", "order_amount" => 768.5],
    ["order_no" => "20190815003", "order_date" => "2019-08-15", "order_amount" => 840.8]
];

Ensuite, écrivez le code suivant et utilisez la fonction sprintf() pour afficher les informations de commande :

echo "<table border='1'>";
echo "<tr><th>订单号</th><th>订单日期</th><th>订单金额</th></tr>";
foreach($orders as $order){
    echo "<tr>";
    echo sprintf("<td>%s</td><td>%s</td><td>¥%.2f元</td>",$order["order_no"],$order["order_date"],$order["order_amount"]);
    echo "</tr>";
}
echo "</table>";

Les résultats d'exécution sont les suivants :

订单号    订单日期    订单金额
20190813001    2019-08-13    ¥289.50元
20190813002    2019-08-13    ¥1032.00元
20190813003    2019-08-13    ¥760.85元
20190814001    2019-08-14    ¥948.50元
20190814002    2019-08-14    ¥213.75元
20190814003    2019-08-14    ¥657.90元
20190815001    2019-08-15    ¥1368.25元
20190815002    2019-08-15    ¥768.50元
20190815003    2019-08-15    ¥840.80元

Comme vous pouvez le voir, utiliser la fonction sprintf() pour formater la sortie, ce qui peut rendre le contenu de sortie plus standardisé et plus beau, et permettre un contrôle plus précis du contenu de sortie. Dans le développement réel, nous pouvons utiliser de manière flexible la fonction sprintf() pour répondre à diverses exigences de sortie complexes et améliorer l'efficacité du développement et la lisibilité du programme.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn