Wird verwendet, um die Zeichenfolge zu formatieren und die Zeichenfolge ohne direkte Ausgabe zurückzugeben. Die formatierte Zeichenfolge kann einer Variablen zugeordnet oder für eine andere Verarbeitung verwendet werden.
fprintf
Wird verwendet, um die Zeichenfolge zu formatieren und das Ergebnis in den angegebenen Dateistrom (z. B. Datei, Standardausgabe usw.) zu schreiben, gibt die Zeichenfolge nicht zurück, sondern die Anzahl der geschriebenen Zeichen zurück.
// sprintf Grammatik
string sprintf(string $format, mixed ...$values)
// fprintf Grammatik
int fprintf(resource $stream, string $format, mixed ...$values)
Aspekt | Sprintf | fprintf |
---|---|---|
Rückgabewert | Gibt die formatierte Zeichenfolge zurück | Gibt die Anzahl der geschriebenen Zeichen zurück |
Ausgangsmethode | Nicht direkt ausgeben, nur Return Saiten zurückgeben | Schreiben Sie die formatierte Zeichenfolge in den angegebenen Dateistrom |
Szenarien verwenden | Müssen die Zeichenfolge formatieren und später verwenden (Speicher, Verarbeitung, Ausgabe) | Sie müssen den formatierten Inhalt direkt in die Datei- oder Ausgabestream schreiben |
Anzahl der Parameter | Formatzeichenfolge + Variable | Datei Stream Resource + Format Zeichenfolge + Variable |
Anwendungsbereich | Diese Gelegenheit, bei der Saiten formatiert werden müssen | Dateioperation, Protokollschreiben, Standardausgabe |
<?php
$name = "Alice";
$age = 30;
$formatted = sprintf("Name: %s, Age: %d\n", $name, $age);
echo $formatted;
?>
In diesem Code gibt Sprintf die formatierte Zeichenfolge auf $ formatiert zurück und gibt sie über Echo aus.
<?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 "Die Datei kann nicht geöffnet werden\n";
}
?>
Hier schreibt Fprintf die formatierte Zeichenfolge direkt in die Dateistromdatei .
Szenarien für Sprintf anwendbar:
Sie müssen die Zeichenfolge formatieren, jedoch nicht direkt ausgeben, z. B. Werte zu Variablen zuzuweisen, Stringspleißen durchzuführen und sie in andere Funktionen weiterzugeben.
Es ist notwendig, die Zeichenfolge vor dem Ausgang oder Speicher dynamisch zu konstruieren.
Fprintf ist für Szenarien geeignet:
Die formatierte Zeichenfolge muss direkt in eine Datei oder einen Stream geschrieben werden, z. B. in eine Protokolldatei.
Es muss an die Standardausgabe ausgegeben werden (z. B. Klemmen und Konsolen), die üblicherweise in Befehlszeilenskripten verwendet werden.
Wenn Sie den Unterschied zwischen den beiden verstehen, können Sie bei der Programmierung in PHP die String -Formatierung und die effektivere Ausgabe handeln, wodurch unnötige Verschwendung von Ressourcen und die Komplexität der Code vermieden werden.