Dans l'article précédent "Comment vérifier les valeurs nulles à l'aide de PHP (4 méthodes)", nous avons présenté la méthode d'utilisation de PHP pour vérifier si une valeur donnée (variable) est nulle. Cette fois, nous parlerons du stockage de données en PHP et verrons comment stocker les données d'un tableau dans un fichier spécifié. Les amis intéressés peuvent en apprendre davantage ~
→Recommandations associées : 《Résumé de la série d'opérations de fichiers PHP (mis à jour en permanence) ~) 》
Pendant le processus de développement, nous utilisons souvent var_dump() pour imprimer le contenu du tableau, mais il est parfois gênant pour nous d'afficher les informations de débogage via le navigateur. À ce stade, nous pouvons afficher les informations dans un fichier. Aujourd'hui, cet article vous présentera deux méthodes d'écriture de données de tableau dans des fichiers.
Méthode 1 : utilisez la fonction var_export()
var_export - génère ou renvoie la représentation sous forme de chaîne analysable de la variable
Syntaxe : 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))
Cette fonction renvoie des informations structurelles sur les variables transmises à la fonction. Elle est similaire à var_dump(), sauf que la représentation renvoyée est du code PHP légal. Nous pouvons renvoyer une représentation d'une variable en définissant le deuxième paramètre de la fonction sur TRUE.
Prenons l'exemple suivant pour voir comment utiliser la fonction var_export() pour stocker les données d'un tableau dans un fichier
<?php //读出缓存 $file='./cache.php'; $handle=fopen($file,'r'); $cache=unserialize(fread($handle,filesize($file))); var_dump($cache); ?>
Code d'analyse :
var_export($cache,true)
Renvoie la chaîne analysable de la variable du tableau
$content = "<?phpnreturn ".var_export($cache, true). "n?>";
Concaténer les chaînes et les affecter à la variable $content; file_put_contents('./cache.php', $content)
Écrivez les données $content
dans le fichier cache.php. La fonction file_put_contents() peut écrire une chaîne dans un fichier. Pour plus de détails, veuillez lire l'article " Opération sur le fichier PHP : Comment effacer le fichier et rajouter des données》.
file_put_contents($file,serialize($cache))
pour sérialiser les données du tableau Stocké dans le fichier cache.php. Par conséquent, dans cache.php, qui était un fichier vide au début, le contenu actuel est : 🎜🎜🎜🎜🎜Lors de la lecture du cache, vous devez utiliser unserialize pour restaurer les données dans cache.php🎜rrreee🎜Le résultat de sortie est : 🎜🎜🎜🎜🎜 Bon, c'est tout pour l'instant. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Fonctionnement de base des fichiers PHP🎜🎜🎜🎜Recommandé :🎜"🎜Collection de questions d'entretien PHP (collection)🎜" "🎜Tutoriel vidéo PHP🎜"🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!