<?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)!