Position actuelle: Accueil> Derniers articles> La différence entre la fonction fprintf et la fonction sprintf et les scénarios d'utilisation

La différence entre la fonction fprintf et la fonction sprintf et les scénarios d'utilisation

gitbox 2025-06-03

1. Fonction Introduction


  • 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.


2. Syntaxe de fonction

 // sprintf grammaire
string sprintf(string $format, mixed ...$values)

// fprintf grammaire
int fprintf(resource $stream, string $format, mixed ...$values)

3. Analyse détaillée des différences

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

4. Exemple de comparaison de code

1. Utilisez Sprintf pour générer des chaînes

 <?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 .


2. Écrivez un fichier à l'aide de fprintf

 <?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&#39;ouvrir le fichier\n";
}
?>

Ici, Fprintf écrit la chaîne formatée directement dans le fichier de flux de fichiers $ .


5. Résumé des scénarios d'utilisation appropriés

  • 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.