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文本数据库的搜索方法
Oct 09 PHP
服务器端解压缩zip的脚本
Dec 22 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
php网站判断用户是否是手机访问的方法
Nov 01 PHP
php fsockopen解决办法 php实现多线程
Jan 20 PHP
php制作中间带自己定义图片二维码的方法
Jan 27 PHP
destoon首页调用求购供应信息的地区名称的方法
Aug 21 PHP
PHP中绘制图像的一些函数总结
Nov 19 PHP
PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)
Sep 11 PHP
phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
Dec 13 PHP
PHP中实现中文字串截取无乱码的解决方法
May 29 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 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
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
2010/05/16 PHP
php ci框架验证码实例分析
2013/06/26 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
php header函数的常用http头设置
2015/06/25 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
2016/10/08 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
node跨域请求方法小结
2017/08/25 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
JavaScript常用内置对象用法分析
2019/07/09 Javascript
基于Angular 8和Bootstrap 4实现动态主题切换的示例代码
2020/02/11 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
微信小程序实现下拉加载更多商品
2020/12/29 Javascript
Python程序设计入门(3)数组的使用
2014/06/16 Python
Python中的引用和拷贝浅析
2014/11/22 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
德国圣伯纳德草药屋:Kräuterhaus Sanct Bernhard(有中文站)
2018/08/05 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
大学生自荐书范文
2013/12/10 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
预备党员介绍人意见
2015/06/01 职场文书
行政复议决定书
2015/06/24 职场文书
庆七一主持词
2015/06/29 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
教师旷工检讨书
2015/08/15 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
关于Python OS模块常用文件/目录函数详解
2021/07/01 Python