php中將數(shù)組存到文件里的實現(xiàn)代碼
更新時間:2012年01月19日 22:38:14 作者:
php的數(shù)組十分強大,有些數(shù)據(jù)不存入數(shù)據(jù)庫直接寫到文件上,用的時候直接require
第一次分享代碼;(寫得很爛..緊張納緊張納)
php的數(shù)組十分強大,有些數(shù)據(jù)不存入數(shù)據(jù)庫直接寫到文件上,用的時候直接require。
(實際中有用到把數(shù)組存在到文件中的功能,不過分享的代碼跟實際應(yīng)用中的有點不同)
<?php
function cacheArr(&$data){
if(!$data)throw new Exception('數(shù)組不能為空');
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
//存儲數(shù)組
$hello=array(1=>'test',2=>array('hello123'));
cacheArr($hello);
unset($hello);
//讀取數(shù)組
require 'hello.arr.php';
print_r($hello);
?>
測試的時候注意下變量問題。包括定義的全局變量
php的數(shù)組十分強大,有些數(shù)據(jù)不存入數(shù)據(jù)庫直接寫到文件上,用的時候直接require。
(實際中有用到把數(shù)組存在到文件中的功能,不過分享的代碼跟實際應(yīng)用中的有點不同)
復(fù)制代碼 代碼如下:
<?php
function cacheArr(&$data){
if(!$data)throw new Exception('數(shù)組不能為空');
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
//存儲數(shù)組
$hello=array(1=>'test',2=>array('hello123'));
cacheArr($hello);
unset($hello);
//讀取數(shù)組
require 'hello.arr.php';
print_r($hello);
?>
測試的時候注意下變量問題。包括定義的全局變量
相關(guān)文章
JS+PHP實現(xiàn)用戶輸入數(shù)字后顯示最大的值及所在位置
這篇文章主要給大家介紹了JS+PHP實現(xiàn)用戶輸入數(shù)字后顯示最大的值及是第幾個的相關(guān)位置,文中給出了詳細的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。2017-06-06PHP實現(xiàn)的常規(guī)正則驗證helper公共類完整實例
這篇文章主要介紹了PHP實現(xiàn)的常規(guī)正則驗證helper公共類,結(jié)合完整實例形式分析了php針對常規(guī)的電話、手機、郵箱、賬號等進行正則驗證的操作技巧,需要的朋友可以參考下2017-04-04php similar_text()函數(shù)的定義和用法
下面小編就為大家?guī)硪黄猵hp similar_text()函數(shù)的定義和用法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05從一個不錯的留言本弄的mysql數(shù)據(jù)庫操作類
本文通過實例代碼給大家介紹了mysql數(shù)據(jù)庫操作類的相關(guān)知識,感興趣的朋友跟隨腳本之家小編一起看看吧2007-09-09