Heim >Backend-Entwicklung >PHP-Problem >PHP-Dateioperation: So speichern Sie Array-Daten in einer Datei (zwei Methoden)
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( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //将数据写入缓存文件 $content = "<?php\nreturn ".var_export($cache,true)."\n?>"; //这里使用var_export() file_put_contents('./cache.php', $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中,现在的内容为:
调用缓存文件的时候只需要使用require()即可将缓存文件的内容复制给一个变量,然后输出这个数组变量即可:
<?php $cache = require('./cache.php'); var_dump($cache); ?>
输出结果为:
方法2:利用serialize方法
使用 serialize 将数组序列化,存储在文件中;调用时,再使用 unserialize 还原。
我们通过下面示例来看看利用serialize()函数怎么将数组数据存入文件
<?php $file='./cache.php'; $cache = array( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //缓存 if(false!==fopen($file,'w+')){ file_put_contents($file,serialize($cache));//写入缓存 } ?>
使用file_put_contents($file,serialize($cache))
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='./cache.php'; $handle=fopen($file,'r'); $cache=unserialize(fread($handle,filesize($file))); var_dump($cache); ?>
Analysecode:
var_export($cache,true)
Gibt die analysierbare Zeichenfolge der Array-Variablen zurück
$content = "<?phpnreturn ".var_export($cache, true). "n?>";
Strings verketten und der Variablen $content zuweisen file_put_contents('./cache.php', $content)
Daten $content
in die Datei „cache.php“ schreiben. Die Funktion „file_put_contents()“ kann einen String in eine Datei schreiben. Weitere Informationen finden Sie im Artikel „ PHP-Dateioperation: So löschen Sie die Datei und fügen Daten erneut hinzu》.
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!