<?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 ( 'http://www.hzhuti.com' )); cacheArr( $hello ); unset( $hello ); //读取数组 require 'hello.arr.php' ; print_r( $hello ); ?> |
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步