在先前的文章《利用PHP如何檢查空值(4種方法)》中,我們介紹了利用PHP檢查一個給定的值(變數)是不是空值的方法。這次我們來聊聊PHP存數據,看看怎麼將陣列資料存入指定檔案中,有興趣的朋友可以學習了解~
→相關推薦:《php檔案操作系列大匯總(持續更新~)》
在開發過程中,我們常用var_dump()來列印陣列內容,但有時候我們不方便透過瀏覽器查看偵錯訊息,這時候可以將資訊輸出到文件中查看。今天本文就來跟大家介紹兩種將數組資料寫入文件中的方法。
方法1:利用var_export()函數
#var_export — 輸出或傳回變數的可解析字串表示
#語法:var_export(mixed $value, bool $return = false)
value:想要輸出的變數名稱。
return:當此參數為 true 時,var_export() 將傳回一個變量,而不是輸出它。
此函數傳回傳遞給函數的變數的結構訊息,它和 var_dump() 類似,不同的是其傳回的表示是合法的 PHP 程式碼。我們可以透過將函數的第二個參數設定為 TRUE,從而傳回變數的表示。
我們透過下面範例來看看利用var_export()函數怎麼將陣列資料存入檔案
<?php //$cache的值是更新缓存时从数据库中取出来的 $cache = array( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //将数据写入缓存文件 $content = "<?php\nreturn ".var_export($cache,true)."\n?>"; //这里使用var_export() file_put_contents('./cache.php', $content); ?>
分析程式碼:
var_export($cache,true)傳回數組變數的可解析字串
$content = ""; 拼接字串,並賦值給變數$content;
file_put_contents('./cache.php' , $content)在cache.php檔案中寫入資料
$content。
php檔案操作之如何清空檔案重新新增資料》。
##呼叫快取文件的時候只需要使用require()即可將快取檔案的內容複製給一個變量,然後輸出這個數組變數即可:
<?php $cache = require('./cache.php'); var_dump($cache); ?>
輸出結果為:
方法2:利用serialize方法使用serialize 將陣列序列化,儲存在檔案中;當呼叫時,再使用unserialize 還原。
我們透過下面範例來看看利用serialize()函數怎麼將陣列資料存入檔案
<?php $file='./cache.php'; $cache = array( 'id' => 2, 'name' => '李娜', 'age' => 23, 'sex' => '女', 'college' => "软件技术", 'subject' => "PHP编程" ); //缓存 if(false!==fopen($file,'w+')){ file_put_contents($file,serialize($cache));//写入缓存 } ?>
使用
file_put_contents($file,serialize($cache))將序列化後的陣列資料儲存在cache.php檔案中。因此一開始為空檔案的cache.php中,現在的內容為:
#讀出快取的時候需要使用unserialize 還原cache.php裡資料即可
<?php //读出缓存 $file='./cache.php'; $handle=fopen($file,'r'); $cache=unserialize(fread($handle,filesize($file))); var_dump($cache); ?>
輸出結果為:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →
PHP檔案基礎操作#推薦:《PHP面試題大匯總(收藏)》《php影片教學》
以上是php檔案操作如何將陣列資料存入檔案(兩種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!