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 和 MYSQL
Oct 09 PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
用php守护另一个php进程的例子
Feb 13 PHP
php导入模块文件分享
Mar 17 PHP
CodeIgniter读写分离实现方法详解
Jan 20 PHP
PHP实现链式操作的原理详解
Sep 16 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHP将字符串首字母大小写转换的实例
Jan 21 PHP
php使用include 和require引入文件的区别
Feb 16 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP获取本周所有日期或者最近七天所有日期的方法
Jun 20 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大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
关于js datetime的那点事
2011/11/15 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
jQuery 遍历- 关于closest() 的方法介绍以及与parents()的方法区别分析
2013/04/26 Javascript
jQuery制作仿Mac Lion OS滚动条效果
2015/02/10 Javascript
分享一则JavaScript滚动条插件源码
2015/03/03 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
AngularJs1.x自定义指令独立作用域的函数传入参数方法
2018/10/09 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
详解js获取video任意时间的画面截图
2019/04/17 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
node.js如何根据URL返回指定的图片详解
2020/10/21 Javascript
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
浅谈Python中的bs4基础
2018/10/21 Python
python爬取内容存入Excel实例
2019/02/20 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
会计电算化应届生求职信
2013/11/03 职场文书
企业法人代表任命书
2014/06/06 职场文书
社区植树节活动总结
2015/02/06 职场文书
少年犯观后感
2015/06/11 职场文书
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang