Maison  >  Article  >  développement back-end  >  Opération sur un fichier PHP : comment enregistrer les données d'un tableau dans un fichier (deux méthodes)

Opération sur un fichier PHP : comment enregistrer les données d'un tableau dans un fichier (deux méthodes)

青灯夜游
青灯夜游original
2021-08-30 19:04:416594parcourir

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(
    &#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中,现在的内容为:

Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)

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

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

输出结果为:

Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)

方法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 : Le nom de la variable que vous souhaitez afficher.

  • Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)return : Lorsque ce paramètre est vrai, var_export() renverra une variable au lieu de la sortir.

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=&#39;./cache.php&#39;; 
$handle=fopen($file,&#39;r&#39;); 
$cache=unserialize(fread($handle,filesize($file))); 
var_dump($cache);
?>

Code d'analyse : Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)

Le cache.php, qui était un fichier vide au début, contient désormais :
Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)🎜Lors de l'appel du fichier cache, il vous suffit d'utiliser require() pour copier le contenu de le fichier cache dans la variable A, puis affichez cette variable de tableau : 🎜rrreee🎜Le résultat de sortie est : 🎜🎜Opération sur un fichier PHP : comment enregistrer les données dun tableau dans un fichier (deux méthodes)🎜🎜🎜🎜Méthode 2 : Utiliser la méthode de sérialisation🎜🎜🎜🎜Utilisez sérialiser pour sérialiser le tableau et le stocker dans le fichier ; lors de l'appel, utilisez désérialiser pour restaurer. 🎜🎜Prenons l'exemple suivant pour voir comment stocker les données d'un tableau dans un fichier à l'aide de la fonction serialize()🎜rrreee🎜Utilisez 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn