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 相关文章推荐
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
PHP 图片文件上传实现代码
Dec 29 PHP
smarty模板引擎之分配数据类型
Mar 30 PHP
简单谈谈php中的unicode和utf8编码
Jun 10 PHP
php文件上传、下载和删除示例
Aug 28 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
Feb 08 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP分享图片的生成方法
Apr 25 PHP
PHP实现的策略模式示例
Mar 20 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 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数组是否为空的代码
2011/09/08 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
实现PHP中session存储及删除变量
2018/10/15 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
详谈innerHTML innerText的使用和区别
2017/08/18 Javascript
微信小程序 生成携带参数的二维码
2019/10/23 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
python绘图库Matplotlib的安装
2014/07/03 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
金融专业个人的自我评价
2013/10/18 职场文书
小学教师师德承诺书
2014/05/23 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书