php将数组存储为文本文件方法汇总


Posted in PHP onOctober 28, 2015

php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件。那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种方法实现将 php 数组写入到文件以缓存数组。
(1)利用serialize 将数组序列化存储为文本文件,调用时候再使用unserialize 还原

<?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 
$file='./cache/phone.php'; 
$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large')); 
cache_write($file,$array,'rows',false); 
 
//写入 
function cache_write($filename,$values,$var='rows',$format=false){ 
  $cachefile=$filename; 
  $cachetext="<?php\r\n".'$'.$var.'='.arrayeval($values,$format).";"; 
  return writefile($cachefile,$cachetext); 
} 
 
//数组转换成字串 
function arrayeval($array,$format=false,$level=0){ 
  $space=$line=''; 
  if(!$format){ 
    for($i=0;$i<=$level;$i++){ 
      $space.="\t"; 
    } 
    $line="\n"; 
  } 
  $evaluate='Array'.$line.$space.'('.$line; 
  $comma=$space; 
  foreach($array as $key=> $val){ 
    $key=is_string($key)?'\''.addcslashes($key,'\'\\').'\'':$key; 
    $val=!is_array($val)&&(!preg_match('/^\-?\d+$/',$val)||strlen($val) > 12)?'\''.addcslashes($val,'\'\\').'\'':$val; 
    if(is_array($val)){ 
      $evaluate.=$comma.$key.'=>'.arrayeval($val,$format,$level+1); 
    }else{ 
      $evaluate.=$comma.$key.'=>'.$val; 
    } 
    $comma=','.$line.$space; 
  } 
  $evaluate.=$line.$space.')'; 
  return $evaluate; 
} 
 
//写入文件 
function writefile($filename,$writetext,$openmod='w'){ 
  if(false!==$fp=fopen($filename,$openmod)){ 
    flock($fp,2); 
    fwrite($fp,$writetext); 
    fclose($fp); 
    return true; 
  }else{ 
    return false; 
  } 
}

(3)利用 var_export 将数组直接保存为数组形式存储到文本文件中

<?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将数组保存为文本格式的方法,希望对大家的学习有所帮助。

PHP 相关文章推荐
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
用PHP写的基于Memcache的Queue实现代码
Nov 27 PHP
php输入流php://input使用示例(php发送图片流到服务器)
Dec 25 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
Dec 18 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
Dec 16 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
PHP实现的曲线统计图表示例
Nov 10 PHP
laravel model 两表联查示例
Oct 24 PHP
PHP控制循环操作的时间
Apr 01 PHP
php如何获取文件的扩展名
Oct 28 #PHP
php检查页面是否被百度收录
Oct 28 #PHP
PHP加密解密函数详解
Oct 28 #PHP
php实现阳历阴历互转的方法
Oct 28 #PHP
PHP框架Laravel学习心得体会
Oct 28 #PHP
php抓取并保存网站图片的实现代码
Oct 28 #PHP
php判断当前操作系统类型
Oct 28 #PHP
You might like
PHP中feof()函数实例测试
2014/08/23 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
js实现的捐赠管理完整实例
2015/01/20 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
Javascript复制实例详解
2016/01/28 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
浅析Jquery操作select
2016/12/13 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
2019 Python最新面试题及答案16道题
2019/04/11 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
python正则-re的用法详解
2019/07/28 Python
python 实现二维列表转置
2019/12/02 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python实现数字炸弹游戏
2020/07/17 Python
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
写给女朋友的道歉信
2014/01/12 职场文书
店长职务说明书
2014/02/04 职场文书
警校毕业生自我评价
2014/04/06 职场文书
食品安全汇报材料
2014/08/18 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
收款委托书范本
2014/09/11 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
介绍信样本
2015/01/31 职场文书
2015年人事工作总结范文
2015/04/09 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2016年学校爱国卫生月活动总结
2016/04/06 职场文书