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中将数组存到文件里的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@