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 程序授权验证开发思路
Jul 09 PHP
ThinkPHP与PHPExcel冲突解决方法
Aug 08 PHP
深入for,while,foreach遍历时间比较的详解
Jun 08 PHP
一个PHP二维数组排序的函数分享
Jan 17 PHP
php异常处理使用示例
Feb 25 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
Php-Redis安装测试笔记
Mar 05 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP 等比例缩放图片详解及实例代码
Sep 18 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
PHP实现的微信APP支付功能示例【基于TP5框架】
Sep 16 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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 简单数组排序实现代码
2009/08/05 PHP
基于php在各种web服务器的运行模式详解
2013/06/03 PHP
PHP实现的连贯操作、链式操作实例
2014/07/08 PHP
php英文单词统计器
2016/06/23 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
jQuery中replaceAll()方法用法实例
2015/01/16 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
javascript函数式编程程序员的工具集
2015/10/11 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
node.js到底要不要加分号浅析
2018/07/11 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
python处理二进制数据的方法
2015/06/03 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
Python pip配置国内源的方法
2020/02/14 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
个人自我剖析材料
2014/02/07 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
安全生产标语大全
2014/10/06 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
2015年保送生自荐信
2015/03/24 职场文书