龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

php 把数组存到文件里

时间:2015-04-03 15:54来源:网络整理 作者:网络 点击:
分享到:
把数组存到文件里 第一次分享代码;(写得很烂..紧张纳紧张纳)php的数组十分强大,有些数据不存入数据库直接写到文件上,用的时候直接require。(实际中有用到把数组存在到文件中

第一次分享代码;(写得很烂..紧张纳紧张纳)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);
?>
精彩图集

赞助商链接