Heim >Backend-Entwicklung >PHP-Problem >PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)

PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)

青灯夜游
青灯夜游Original
2021-08-30 19:04:416657Durchsuche

Im vorherigen Artikel „So prüfen Sie mit PHP auf Nullwerte (4 Methoden)“ haben wir die Methode vorgestellt, mit PHP zu prüfen, ob ein bestimmter Wert (eine Variable) null ist. Dieses Mal werden wir über die Datenspeicherung in PHP sprechen und sehen, wie man Array-Daten in einer bestimmten Datei speichert ~

→Verwandte Empfehlungen: Zusammenfassung der PHP-Dateioperationsserie (kontinuierlich aktualisiert) ~)

Während des Entwicklungsprozesses verwenden wir häufig var_dump(), um Array-Inhalte zu drucken, aber manchmal ist es für uns unpraktisch, Debugging-Informationen über den Browser anzuzeigen. Zu diesem Zeitpunkt können wir die Informationen zur Anzeige in eine Datei ausgeben. Heute stellt Ihnen dieser Artikel zwei Methoden zum Schreiben von Array-Daten in Dateien vor.

Methode 1: Verwenden Sie die Funktion var_export()

var_export – Ausgabe oder Rückgabe der analysierbaren Zeichenfolgendarstellung der Variablen

Syntax: var_export(mixed $value, bool $return = false) code ><code>var_export(mixed $value, bool $return = false)

  • value:想要输出的变量名。

  • return:此参数为 true 时,var_export() 将返回一个变量,而不是输出它。

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。我们可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。 

我们通过下面示例来看看利用var_export()函数怎么将数组数据存入文件

<?php
//$cache的值是更新缓存时从数据库中取出来的
$cache = array(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 

//将数据写入缓存文件
$content = "<?php\nreturn ".var_export($cache,true)."\n?>";    //这里使用var_export()
file_put_contents(&#39;./cache.php&#39;, $content);
?>

分析代码:

  • 利用var_export($cache,true)返回数组变量的可解析字符串

  • $content = "<?phpnreturn ".var_export($cache,true)."n?>"; 拼接字符串,并赋值给变量$content;

  • file_put_contents('./cache.php', $content)在cache.php文件中写入数据$content

    file_put_contents()函数可以把一个字符串写入文件中,具体可阅读文章《php文件操作之如何清空文件重新添加数据》。

因此一开始为空文件的cache.php中,现在的内容为:

PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)

调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量,然后输出这个数组变量即可:

<?php
$cache = require(&#39;./cache.php&#39;);
var_dump($cache);
?>

输出结果为:

PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)

方法2:利用serialize方法

使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。

我们通过下面示例来看看利用serialize()函数怎么将数组数据存入文件

<?php
$file=&#39;./cache.php&#39;; 
$cache = array(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 
//缓存 
if(false!==fopen($file,&#39;w+&#39;)){ 
  file_put_contents($file,serialize($cache));//写入缓存 
} 
?>

使用file_put_contents($file,serialize($cache))

  • value: Der Variablenname, den Sie ausgeben möchten.

  • PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)return: Wenn dieser Parameter wahr ist, gibt var_export() eine Variable zurück, anstatt sie auszugeben.

Diese Funktion gibt Strukturinformationen über die an die Funktion übergebenen Variablen zurück. Sie ähnelt var_dump(), außer dass die zurückgegebene Darstellung legaler PHP-Code ist. Wir können eine Darstellung einer Variablen zurückgeben, indem wir den zweiten Parameter der Funktion auf TRUE setzen.

Nehmen wir das folgende Beispiel, um zu sehen, wie man die Funktion var_export() verwendet, um Array-Daten in einer Datei zu speichern

<?php
//读出缓存 
$file=&#39;./cache.php&#39;; 
$handle=fopen($file,&#39;r&#39;); 
$cache=unserialize(fread($handle,filesize($file))); 
var_dump($cache);
?>

Analysecode: PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)

Die Cache.php, die am Anfang eine leere Datei war, enthält jetzt:
PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)Beim Aufrufen der Cache-Datei müssen Sie nur require() verwenden, um den Inhalt von zu kopieren Fügen Sie die Cache-Datei in eine Variable ein und geben Sie dann diese Array-Variable aus: rrreee🎜Das Ausgabeergebnis ist: 🎜🎜PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)🎜🎜🎜🎜Methode 2: Serialisierungsmethode verwenden🎜🎜🎜🎜Verwenden Sie serialize, um das Array zu serialisieren und in der Datei zu speichern. Verwenden Sie beim Aufrufen zur Wiederherstellung deserialisieren. 🎜🎜Nehmen wir das folgende Beispiel, um zu sehen, wie man die Funktion serialize() verwendet, um Array-Daten in einer Datei zu speichern🎜rrreee🎜Verwenden Sie file_put_contents($file,serialize($cache)), um das Array zu serialisieren Daten werden in der Datei „cache.php“ gespeichert. Daher lautet der aktuelle Inhalt in Cache.php, die zu Beginn eine leere Datei war: 🎜🎜🎜🎜🎜Beim Lesen des Caches müssen Sie unserialize verwenden, um die Daten in Cache.php wiederherzustellen.🎜rrreee🎜Das Ausgabeergebnis lautet: 🎜🎜🎜🎜🎜 Okay, das war's für den Moment. 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 vonPHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden). 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