PHP如何將數組存入緩存TXT文件並取出後還原成數組

PHP開發中常常會遇到對數組的操做,有時候須要將數組數據緩存到文件中以便下次更加方便直接調用緩存的數組文件,參考代碼以下:數組

// 寫入數組
$array_1 = array(1,'55a',2,'3d6',77);
var_dump($array_1); // 輸出原始數組結構
$filename="cache.txt";
$file_hwnd=fopen($filename,"w");
fwrite($file_hwnd,serialize($array_1)); //輸入序列化的數據
fclose($file_hwnd);
緩存

// 開始讀取並還原數組
$filename="cache.txt";
$file_hwnd=fopen($filename,"r");
$content = fread($file_hwnd, filesize($filename)); // 讀去文件所有內容
fclose($file_hwnd);
$array_2 = unserialize($content); // 將文本數據轉換回數組
var_dump($array_2); // 輸出如今的數據結構
數據結構

 

注意:spa

1.fopen($filename,"w"):第二次寫入數據數據時會把以前寫入的數據萬千覆蓋掉,即便第二次寫入的是空的數組;3d

2.判斷從文件中讀取的數據是否爲空的話,必定要先反序列化(unserialize),再作判斷(empty)(即便你寫入文件的數組爲空數組),開發

例如:下面的例子中我寫入到文件的數組爲空的數組,it

 1.未序列化就作判斷:(錯誤)file

 

 2.序列化後再作判斷:(正確)序列化

相關文章
相關標籤/搜索