Heim  >  Artikel  >  Backend-Entwicklung  >  So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

青灯夜游
青灯夜游Original
2021-08-06 16:11:103881Durchsuche

Im vorherigen Artikel haben wir Ihnen eine Methode zum gleichzeitigen Lesen der gesamten Datei vorgestellt und vorgestellt. Mit dieser Methode können Sie den gelesenen Inhalt in einer Zeichenfolge speichern. Wenn Sie interessiert sind, können Sie auf „ So speichern Sie alle Daten“ klicken einer Datei in einen String in PHP》Ansicht. Im Folgenden wird weiterhin die Methode zum gleichzeitigen Lesen der gesamten Datei vorgestellt.

Die Methode im vorherigen Artikel gibt den gesamten Inhalt der Datei in einer Zeile aus. Es ist besser, wenn die Dateidaten zu groß sind, zum Beispiel:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

Verwenden Sie file_get_contents(. ) Funktion zum Lesen und Ausgeben:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filestr = file_get_contents($file);
echo $filestr;
?>

Das Ausgabeergebnis ist

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

Es ist ersichtlich, dass der Ausgabeinhalt nicht zum Lesen geeignet ist. Wie können wir also den gesamten Inhalt der Datei Zeile für Zeile ausgeben? Sie können Arrays verwenden.

Sie können die gesamte Datei auf einmal lesen und die Daten Zeile für Zeile im Array speichern. Jede Datenzeile entspricht einem Array-Element.

Schauen wir uns den folgenden Code an:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
var_dump($filearr);
?>

Ausgabeergebnis:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

Ist es leicht zu lesen? Manchmal müssen Sie den gesamten Inhalt lesen, benötigen aber vorerst nur eine Datenzeile , können Sie Array name[subscript] verwenden, um die Daten der angegebenen Zeile abzurufen. Wenn Sie beispielsweise die dritte Datenzeile wünschen, können Sie Folgendes tun: 数组名[下标] 的形式来取指定行的数据。例如想要第三行的数据,那么可以:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
echo $filearr[2];  //数组下标是从0开始的
?>

输出结果:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

下面我们来了解一下里面的关键函数file()

file($filename,$flags,$context)函数接受一个必需参数$filename(要读取的文件),两个可省略的参数$flags$context(文件句柄的环境)。

但一般还是会设置$flags参数的,该参数可以是以下一个或多个常量:

  • FILE_USE_INCLUDE_PATH:在 include_path (在 php.ini 中)中查找文件,默认为 FALSE;如果想,则设置参数值为 '1'。

  • FILE_IGNORE_NEW_LINES:在数组每个元素的末尾不要添加换行符;

  • FILE_SKIP_EMPTY_LINES:跳过空行。

例如上例,如果省略“FILE_IGNORE_NEW_LINES”,输出会是这样的:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

而如果一个文件中包含空行:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

使用上例中的代码读取文件,输出结果为:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

就可以设置“FILE_SKIP_EMPTY_LINES”来跳过空行,读取下一行数据。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES);
var_dump($filearr);
?>

输出结果为:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

$flags参数如果设置多个常量值,需要使用|rrreee

Ausgabeergebnis:

So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP

Werfen wir einen Blick auf die Schlüsselfunktion file(). file($filename,$flags,$context)-Funktion akzeptiert einen erforderlichen Parameter $filename (die zu lesende Datei) und zwei ausgelassene Parameter $ flags und $context (die Umgebung des Dateihandles). Aber im Allgemeinen ist der Parameter $flags weiterhin gesetzt, der eine oder mehrere der folgenden Konstanten sein kann:

FILE_USE_INCLUDE_PATH: Suchen Sie nach Dateien in include_path (in php.ini). Der Standardwert ist FALSE. Falls gewünscht, setzen Sie den Parameterwert auf „1“.

  • 🎜FILE_IGNORE_NEW_LINES: Fügen Sie am Ende jedes Elements des Arrays kein Zeilenumbruchzeichen hinzu; 🎜
  • 🎜FILE_SKIP_EMPTY_LINES: Leerzeile überspringen. 🎜
  • 🎜Wenn beispielsweise im obigen Beispiel „FILE_IGNORE_NEW_LINES“ weggelassen wird, sieht die Ausgabe wie folgt aus: 🎜🎜So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP🎜🎜Und wenn eine Datei Leerzeilen enthält: 🎜🎜So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP🎜🎜Verwenden Sie den Code im obigen Beispiel, um die Datei zu lesen. Das Ausgabeergebnis ist: 🎜🎜🎜 So speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP 🎜🎜Sie können es auf „FILE_SKIP_EMPTY_LINES“ setzen, um leere Zeilen zu überspringen und die nächste Datenzeile zu lesen. 🎜rrreee🎜Das Ausgabeergebnis ist: 🎜🎜7 .png🎜🎜$flags Parameter. Wenn Sie mehrere konstante Werte festlegen, müssen Sie sie mit | trennen. 🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜Grundlegende Bedienung von PHP-Dateien🎜🎜🎜🎜Empfohlen:🎜"🎜Sammlung von PHP-Interviewfragen (Sammlung)🎜" "🎜php-Video-Tutorial🎜"🎜

    Das obige ist der detaillierte Inhalt vonSo speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn