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.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
实用函数3
Nov 08 PHP
php下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
Jun 23 PHP
php判断linux下程序问题实例
Jul 09 PHP
如何写php守护进程(Daemon)
Dec 30 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
Laravel5框架自定义错误页面配置操作示例
Apr 17 PHP
php实现的生成排列算法示例
Jul 25 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 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
DIY实用性框形天线
2021/03/02 无线电
php自定义函数截取汉字长度
2014/05/15 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
jquery使用slideDown实现模块缓慢拉出效果的方法
2015/03/27 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
Yahoo-PHP面试题2
2014/12/06 面试题
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
最新的大学生找工作自我评价
2013/09/29 职场文书
房地产销售大学生自我评价分享
2013/11/11 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
公司建议书怎么写
2014/05/15 职场文书
考试诚信承诺书
2014/05/23 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
商铺租房协议书范本
2014/12/04 职场文书
小学重阳节活动总结
2015/03/24 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
婚礼家长致辞
2015/07/27 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫