本文为大家讲解的是php中将数组存到文件里的实现代码,这在做一些数据缓存时非常实用,感兴趣的同学参考下. 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 "<?phpn"; function echoArr($arr,$arr
本文为大家讲解的是php中将数组存到文件里的实现代码,这在做一些数据缓存时非常实用,感兴趣的同学参考下.
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 "<?phpn";
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);
?>
测试的时候注意下变量问题。包括定义的全局变量
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!