Utilisé pour formater la chaîne et renvoyer la chaîne sans sortie directe. La chaîne formatée peut être attribuée à une variable ou utilisée pour un autre traitement.
fprintf
Utilisé pour formater la chaîne et écrire le résultat dans le flux de fichiers spécifié (tel que le fichier, la sortie standard, etc.), il ne renvoie pas la chaîne, mais renvoie le nombre de caractères écrits.
// sprintf grammaire
string sprintf(string $format, mixed ...$values)
// fprintf grammaire
int fprintf(resource $stream, string $format, mixed ...$values)
aspect | sprintf | fprintf |
---|---|---|
Valeur de retour | Renvoie la chaîne formatée | Renvoie le nombre de caractères écrits |
Méthode de sortie | Pas de sortie directement, seulement des chaînes de retour | Écrivez la chaîne formatée dans le flux de fichiers spécifié |
Utiliser des scénarios | Besoin de formater la chaîne et de l'utiliser plus tard (stockage, traitement, sortie) | Vous devez écrire le contenu formaté directement sur le fichier ou le flux de sortie |
Nombre de paramètres | Format String + Variable | Ressource de flux de fichiers + chaîne de format + variable |
Portée de l'application | Largement, toute occasion où les cordes doivent être formatées | Fonctionnement du fichier, rédaction du journal, sortie standard |
<?php
$name = "Alice";
$age = 30;
$formatted = sprintf("Name: %s, Age: %d\n", $name, $age);
echo $formatted;
?>
Dans ce code, Sprintf renvoie la chaîne formatée à $ formatée et la sort via Echo .
<?php
$file = fopen("gitbox.net/uploads/user.txt", "w");
if ($file) {
$name = "Bob";
$age = 25;
fprintf($file, "Name: %s, Age: %d\n", $name, $age);
fclose($file);
} else {
echo "Impossible d'ouvrir le fichier\n";
}
?>
Ici, Fprintf écrit la chaîne formatée directement dans le fichier de flux de fichiers $ .
Scénarios applicables à sprintf :
Vous devez formater la chaîne mais pas la sortie directement, comme attribuer des valeurs aux variables, faire de l'épissage de la chaîne et les passer dans d'autres fonctions.
Il est nécessaire de construire dynamiquement la chaîne avant sortie ou stockage.
Fprintf convient aux scénarios:
La chaîne formatée doit être écrite directement sur un fichier ou un flux, comme dans un fichier journal.
Il doit être sorti en sortie standard (tels que les terminaux et les consoles), qui sont couramment utilisés dans les scripts de ligne de commande.
Comprendre la différence entre les deux peut vous aider à gérer le formatage des chaînes et à sortir plus efficacement lors de la programmation en PHP, en évitant les déchets inutiles de ressources et de complexité du code.