2010-04-12 7 views

Antwort

4

anzeigen PHP Manual on String access and modification by character

Charaktere innerhalb string s zugegriffen werden kann und geändert durch Spezifizieren des Null-basierten Versatzes des gewünschten Zeichens nach der Zeichenkette unter Verwendung von quadratischen Array-Klammern, wie in $str[42]. Stellen Sie sich zu diesem Zweck eine Zeichenfolge als ein Array von Zeichen vor. Die Funktionen substr() und substr_replace() können verwendet werden, wenn Sie mehr als 1 Zeichen extrahieren oder ersetzen möchten.

Oder, wenn Sie nach der Suche nach und das Lesen Bytes aus der Datei sind, können Sie ein SplFileObject

$file = new SplFileObject('file.txt'); 
while (false !== ($char = $file->fgetc())) { 
    echo "$char\n"; 
} 

verwenden, das aber nicht ein Byte-Array ist, aber über eine Datei-Handelte iterieren. SplFileInfo implementiert die Schnittstelle SeekableIterator.

Und Nebenbei bemerkt, gibt es auch

  • file - Liefert die Datei in einem Array. Jedes Element des Arrays entspricht einer Zeile in der Datei, wobei das Zeilenende noch angehängt ist. Bei einem Fehler gibt file() FALSE zurück.
2

zu viel php>

$data = file_get_contents("/tmp/some_file.txt");

beste Art und Weise zu machen (nicht für Zählung recomended in, sizeof, Strlen oder anderen Funktionen): $counter = strlen($data); for($i = 0; $i < $counter; ++$i) { $char = data[$i]; echo "Byte $i: $char\n"; }

+0

sinnlose Mikro-Optimierung. und deine Antwort sollte auch ein Kommentar unter der Antwort sein. – Gordon

+0

Von allen Mikrooptimierungen ist diese am wenigsten sinnlos. – raveren

+0

ja. aber in zend sertificate sehr häufig. – Mantas