php中将数组存到文件里的实现代码


Posted in PHP onJanuary 19, 2012

第一次分享代码;(写得很烂..紧张纳紧张纳)
php的数组十分强大,有些数据不存入数据库直接写到文件上,用的时候直接require。
(实际中有用到把数组存在到文件中的功能,不过分享的代码跟实际应用中的有点不同)

<?php 
function cacheArr(&$data){ 
if(!$data)throw new Exception('数组不能为空'); 
foreach($GLOBALS as $key=>$value){ 
$str=$GLOBALS[$key]; 
$GLOBALS[$key]='changed'; 
if($data=='changed'){ 
$strName=$key; 
break; 
} 
$GLOBALS[$key]=$str; 
} 
ob_clean(); 
ob_start(); 
echo "<?php\n"; 
function echoArr($arr,$arrName){ 
$arrCount=count($arr);$i==0; 
foreach($arr as $key=>$value){ 
++$i; 
if(is_array($value)){ 
echo "\n".(is_numeric($key)?$key:'\''.$key.'\'').'=>array('; 
echoArr($value,$arrName.(is_numeric($key)?'['.$key.']':'[\''.$key.'\']')); 
if($i!=$arrCount)echo '),'; 
else echo ')'; 
continue; 
} 
if($i!=$arrCount)echo ((is_numeric($key))?$key:'\''.$key.'\'').'=>'.(is_numeric($value)?$value:'\''.$value.'\'').','; 
else echo ((is_numeric($key))?$key:'\''.$key.'\'').'=>'.(is_numeric($value)?$value:'\''.$value.'\''); 
} 
} 
echo '$'.$strName.'=array('; 
echoArr($data,''); 
echo ');'; 
echo "\n?>"; 
$file=fopen($strName.'.arr.php','w'); 
fwrite($file,ob_get_contents()); 
fclose($file); 
ob_clean(); 
return true; 
} 
?> 
<?php 
//存储数组 
$hello=array(1=>'test',2=>array('hello123')); 
cacheArr($hello); 
unset($hello); 
//读取数组 
require 'hello.arr.php'; 
print_r($hello); 
?>

测试的时候注意下变量问题。包括定义的全局变量
PHP 相关文章推荐
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
php获取文件大小的方法
Feb 26 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
php中二维数组排序问题方法详解
Aug 28 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP开发的微信现金红包功能示例
Jun 29 PHP
PHP微信H5支付开发实例
Jul 25 PHP
PHP 并发场景的几种解决方案
Jun 14 PHP
tp5框架的增删改查操作示例
Oct 31 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 PHP
PHP取进制余数函数代码
Jan 19 #PHP
PHP采集腾讯微博的实现代码
Jan 19 #PHP
Php图像处理类代码分享
Jan 19 #PHP
调试一段PHP程序时遇到的三个问题
Jan 17 #PHP
php中可能用来加密字符串的函数[base64_encode、urlencode、sha1]
Jan 16 #PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
Jan 16 #PHP
php 阴历-农历-转换类代码
Jan 16 #PHP
You might like
利用 window_onload 实现select默认选择
2006/10/09 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP+javascript制作带提示的验证码源码分享
2014/05/28 PHP
CI框架学习笔记(二) -入口文件index.php
2014/10/27 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
php排序算法实例分析
2016/10/17 PHP
PHP中快速生成随机密码的几种方式
2017/04/17 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
javascript关于运动的各种问题经典总结
2015/04/27 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
django框架forms组件用法实例详解
2019/12/10 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
HTML5基于flash实现播放RTMP协议视频的示例代码
2020/12/04 HTML / CSS
澳大利亚家具商店:Freedom
2020/12/17 全球购物
介绍一下游标
2012/01/10 面试题
个人求职信范例
2014/01/29 职场文书
迟到检讨书5000字
2014/01/31 职场文书
环保倡议书50字
2014/05/15 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
2014年优秀党员材料
2014/12/18 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
Python实战之用tkinter库做一个鼠标模拟点击器
2021/04/27 Python