Dans PHP, la fonction sprintf est utilisée pour formater la sortie de chaîne, ce qui peut nous aider à créer des tables formatées. Cet article vous montrera comment implémenter un outil de sortie de table simple à l'aide de la fonction sprintf .
La fonction sprintf sortira une chaîne formatée dans une variable. Son utilisation de base est la suivante:
sprintf(format, args...)
Le format est une chaîne de format qui définit la structure du contenu de sortie.
Args ... est le paramètre correspondant à l'espace réservé dans la chaîne de format.
Les symboles de formatage communs incluent % s (chaîne), % d (intégral), % f (numéro flottant), etc.
Supposons que nous devons publier un formulaire simple qui affiche le nom et l'adresse e-mail de l'utilisateur. Nous pouvons formater chaque ligne de données via Sprintf , puis épisser ces lignes dans une table complète.
Nous voulons que la table ressemble à ceci:
Nom | |
---|---|
Alice | [email protected] |
Bob | [email protected] |
Tout d'abord, nous définissons le titre et les données de la colonne du tableau, puis formons la sortie à l'aide de sprintf .
<?php
// Tête
$header = sprintf("| %-10s | %-20s |\n", "Nom", "Mail");
// Données tabulaires
$data = [
["Alice", "[email protected]"],
["Bob", "[email protected]"]
];
// En-tête de table de sortie
echo $header;
echo str_repeat("-", strlen($header) - 1) . "\n"; // Diviseur de sortie
// 输出Données tabulaires
foreach ($data as $row) {
echo sprintf("| %-10s | %-20s |\n", $row[0], $row[1]);
}
?>
sprintf ("|% -10s |% -20s | \ n", "nom", "e-mail"); génère l'en-tête de table. % -10S signifie l'alignement laissé, avec une largeur de 10 caractères; % -20S signifie l'alignement laissé, avec une largeur de 20 caractères.
str_repeat ("-", strlen ($ en-tête) - 1) est utilisé pour générer des séparateurs, avec la même longueur que la largeur de l'en-tête de la table.
Ensuite, parcourez le tableau de données via une boucle FOREACH , en formatant la sortie de chaque ligne à l'aide de sprintf .
Après avoir exécuté le code ci-dessus, le résultat de sortie est le suivant:
| Nom | Mail |
--------------------------------------
| Alice | [email protected] |
| Bob | [email protected] |
Vous pouvez ajuster le format selon les besoins, tels que la modification de la largeur de la colonne, l'alignement ou l'ajout de colonnes. Changez simplement la partie pertinente en fonction de la chaîne de format de sprintf .
Par exemple, si vous souhaitez être aligné à droite, vous pouvez utiliser % 10s (spécifiez la largeur et la droite):
echo sprintf("| %10s | %20s |\n", "Alice", "[email protected]");
Avec la fonction sprintf , nous pouvons facilement formater et sortir des données tabulaires. Bien que Sprintf lui-même ne prenne pas directement en charge la fonction des tables, via le contrôle de formatage qu'il fournit, nous pouvons facilement implémenter un outil de sortie de table simple.