fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fscanfInterpretiert den Input einer Datei entsprechend einem angegebenen Format

Beschreibung

fscanf(resource$stream, string$format, mixed&...$vars): array|int|false|null

Die Funktion fscanf() ist ähnlich zu sscanf(), wobei sie ihren Input aus der mit stream angegebenen Datei liest, und entsprechend dem angegebenen format interpretiert.

Beliebige Whitespace-Zeichen (z. B. Leerzeichen, Tabulator etc.) im Format String gelten mit beliebigen Whitespace-Zeichen des Input-Streams als übereinstimmend. Das heißt, dass auch ein Tabulator (\t) im Formatstring mit einem einzigen Leerzeichen im Input-Stream als übereinstimmend gelten kann.

Jeder fscanf()-Aufruf liest eine Zeile aus der Datei aus.

Parameter-Liste

stream

Eine Dateisystemressource (resource), wie sie in der Regel von fopen() zurückgegeben wird.

format

Das interpretierte Format für string, wie es in der Dokumentation zu sprintf() beschrieben ist, mit den folgenden Unterschieden:

  • Die Funktion beachtet die Locale nicht.
  • F, g, G und b werden nicht unterstützt.
  • D steht für eine Dezimalzahl.
  • i steht für eine Ganzzahl mit Angabe der Basis.
  • n steht für die Anzahl der bisher verarbeiteten Zeichen.
  • s beendet das Lesen beim ersten Whitespace-Zeichen.
  • * anstelle von argnum$ unterdrückt die Zuweisung dieser Umwandlungsspezifikation.
vars

Die optional zugewiesenen Werte.

Rückgabewerte

Wenn nur zwei Parameter an die Funktion übergeben wurden, werden die geparseten Werte in einem Array zurückgegeben. Andernfalls gibt die Funktion die Anzahl der zugewiesenen Werte zurück. Die optionalen Parameter müssen per Referenz übergeben werden.

Wenn im format mehr Teilstrings erwartet werden, als in string verfügbar sind, wird null zurückgegeben. Bei anderen Fehlern wird false zurückgegeben.

Beispiele

Beispiel #1 fscanf()-Beispiel

<?php
$handle
= fopen("users.txt", "r");
while (
$userinfo = fscanf($handle, "%s\t%s\t%s\n")) {
list (
$name, $profession, $countrycode) = $userinfo;
// Tue etwas mit den Werten ...
}
fclose($handle);
?>

Beispiel #2 Inhalt der Datei users.txt

javier argonaut pe hiroshi sculptor jp robert slacker us luigi florist it

Siehe auch

  • fread() - Liest Binärdaten aus einer Datei
  • fgets() - Liest die Zeile von der Position des Dateizeigers
  • fgetss() - Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.
  • sscanf() - Überträgt einen String in ein angegebenes Format
  • printf() - Liefert einen formatierten String
  • sprintf() - Gibt einen formatierten String zurück
To Top