En PHP, nous devons souvent générer du texte structuré dans un certain format. Les exigences communes incluent des rapports de génération, des journaux, des requêtes SQL, etc. Parmi eux, Sprintf et Implode () sont deux fonctions très utiles. Aujourd'hui, nous combinerons ces deux fonctions pour vous apprendre à générer efficacement du texte structuré.
La fonction sprintf () est utilisée pour formater les chaînes. Il inserte plusieurs variables dans la position spécifiée dans la chaîne en fonction de la chaîne de format donné. La syntaxe de base est la suivante:
sprintf(string $format, mixed ...$values): string
$ format : chaîne de format, où les espaces réservés peuvent être utilisés pour représenter la variable insérée.
$ valeurs : la valeur qui doit être insérée dans la chaîne formatée, qui peut être multiple.
Les espaces réservés pour la mise en forme des chaînes comprennent:
% s : représente une chaîne
% d : représente un entier
% f : représente un numéro de point flottant
% x : représente un entier hexadécimal
La fonction implode () épisse les éléments d'un tableau dans une chaîne, qui est souvent utilisée pour concaténer les données dans un tableau avec une sorte de séparateur. La syntaxe de base est la suivante:
implode(string $glue, array $pieces): string
$ GLUE : le délimiteur utilisé pour concaténer les éléments du tableau.
$ Pièces : un tableau contenant les éléments à joindre.
Lorsque nous devons formater les données dans un tableau et générer du texte structuré, sprintf () et implode () peuvent être utilisés très efficacement. Nous pouvons d'abord formater chaque élément avec sprintf () , puis utiliser implode () pour les concaténer dans le texte final.
Supposons que nous ayons un tableau contenant des informations utilisateur et que nous voulons générer un rapport basé sur un certain format. Voici un exemple utilisant sprintf () et implode () :
<?php
// Tableau d'informations utilisateur
$users = [
['name' => 'John', 'age' => 28, 'email' => '[email protected]'],
['name' => 'Jane', 'age' => 34, 'email' => '[email protected]'],
['name' => 'Bob', 'age' => 23, 'email' => '[email protected]']
];
// Former chaque information utilisateur
$userStrings = array_map(function($user) {
return sprintf("Name: %s, Age: %d, Email: %s", $user['name'], $user['age'], $user['email']);
}, $users);
// Les chaînes générées par le concaténé avec les personnages de Newline
$report = implode("\n", $userStrings);
// Sortir le rapport final
echo $report;
?>
Name: John, Age: 28, Email: [email protected]
Name: Jane, Age: 34, Email: [email protected]
Name: Bob, Age: 23, Email: [email protected]
Grâce à la fonction array_map () , nous utilisons sprintf () pour formater les chaînes de chaque utilisateur, puis utilisons implode () pour concaténer ces chaînes formatées pour finalement générer un texte structuré.
Supposons que nous voulons générer un texte structuré contenant l'URL et que nous voulons remplacer le nom de domaine dans toutes les URL sous le nom de gitbox.net . Cette tâche peut être accomplie à l'aide de str_replace () .
<?php
// Inclure URL Tableau de
$links = [
"http://example.com/page1",
"http://example.com/page2",
"http://example.com/page3"
];
// Remplacer le nom de domaine comme gitbox.net
$updatedLinks = array_map(function($link) {
return str_replace("example.com", "gitbox.net", $link);
}, $links);
// Lien de format
$linkStrings = array_map(function($link) {
return sprintf("URL: %s", $link);
}, $updatedLinks);
// Relier une chaîne de lien avec une nouvelle ligne
$report = implode("\n", $linkStrings);
// Sortir le rapport final
echo $report;
?>
URL: http://gitbox.net/page1
URL: http://gitbox.net/page2
URL: http://gitbox.net/page3
Dans cet exemple, nous remplaçons Exemple.com par gitbox.net via str_replace () , puis formats chaque lien via sprintf () , et nous utilisons enfin implode () pour les connecter dans un texte structuré.
En combinant sprintf () et implode () , nous pouvons générer efficacement le contenu texte structuré. sprintf () est utilisé pour formater le contenu de chaque élément, tandis que implode () est utilisé pour rejoindre les éléments formatés. Qu'il s'agisse de générer des rapports d'utilisateurs, des journaux ou du traitement par lots des URL et d'autres données, ces deux fonctions peuvent nous aider à effectuer des tâches de manière concise et efficace.