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&amp;mysql(四)
Oct 09 PHP
PHP 程序员也要学会使用“异常”
Jun 16 PHP
php zip文件解压类代码
Dec 02 PHP
PHP里的中文变量说明
Jul 23 PHP
用php解析html的实现代码
Aug 08 PHP
基于php split()函数的用法详解
Jun 05 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
简单的php中文转拼音的实现代码
Feb 11 PHP
php生成短网址示例
May 05 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
缅甸的咖啡简史
2021/03/04 咖啡文化
php多文件上传实现代码
2014/02/20 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
jQuery插件windowScroll实现单屏滚动特效
2015/07/14 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
2016/06/14 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
2016/07/09 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
微信小程序 聊天室简单实现
2017/04/19 Javascript
Electron中实现大文件上传和断点续传功能
2018/10/28 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
给Python初学者的一些编程技巧
2015/04/03 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
和平主题的演讲稿
2014/01/12 职场文书
交通事故检查书范文
2014/01/30 职场文书
2014年度党员自我评议
2014/09/13 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫