php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种方法实现将 php 数组写入到文件以缓存数组。
 
(1)利用php的序列化函数 serialize 和反序列化函数unserialize可以将数组序列化存储为文本文件,然后再反序列化做为数组取出。
PHP Code复制内容到剪贴板
  • <?php  
  • $file='./cache/phone.php';  
  • $array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));  
  • //缓存  
  • if(false!==fopen($file,'w+')){  
  •     file_put_contents($file,serialize($array));//写入缓存  
  • }  
  • //读出缓存  
  • $handle=fopen($file,'r');  
  • $cacheArray=unserialize(fread($handle,filesize($file)));  
  •  
    (2)自创的将数组保存为标准的数组格式,虽然保存时复杂了点但是调用时简单
    PHP Code复制内容到剪贴板
  • <?php  
  • $file='./cache/phone.php';  
  • $array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));  
  • //缓存  
  • if(false!==fopen($file,'w+')){  
  •     file_put_contents($file,serialize($array));//写入缓存  
  • }  
  • //读出缓存  
  • $handle=fopen($file,'r');  
  • $cacheArray=unserialize(fread($handle,filesize($file)));  
  •  
    (3)利用 php的自带函数var_export 可以数组直接保存为数组形式存储到文本文件中(推荐)
    PHP Code复制内容到剪贴板
  • <?php  
  • $file='./cache/phone.php';  
  • $array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large'));  
  • //缓存  
  • $text='<?php $rows='.var_export($array,true).';';  
  • if(false!==fopen($file,'w+')){  
  •     file_put_contents($file,$text);  
  • }else{  
  •     echo '创建失败';  
  • }  
  •  
    通过以上三种方法,比较常用的应该还是第三种和第一种,推荐使用第三种方法,因为方便、简单、快捷。

    php的
    1、PHP序列化 serialize 格式详解
    2、PHP对变量进行序列化的方法大比拼 四种序列化变量的方法
    3、php编写大型网站问题集

    相关文章: