欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

把数组存到文件里

程序员文章站 2022-05-29 10:59:36
...
把数组存到文件里
<?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中文网(www.php.cn)!