首頁 >後端開發 >PHP問題 >php檔案操作如何將陣列資料存入檔案(兩種方法)

php檔案操作如何將陣列資料存入檔案(兩種方法)

青灯夜游
青灯夜游原創
2021-08-30 19:04:416647瀏覽

在先前的文章《利用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(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 

//将数据写入缓存文件
$content = "<?php\nreturn ".var_export($cache,true)."\n?>";    //这里使用var_export()
file_put_contents(&#39;./cache.php&#39;, $content);
?>

分析程式碼:

  • ##利用

    var_export($cache,true)傳回數組變數的可解析字串

  • $content = ""; 拼接字串,並賦值給變數$content;

  • file_put_contents('./cache.php' , $content)在cache.php檔案中寫入資料$content

    file_put_contents()函數可以把字串寫入檔案中,具體可閱讀文章《

    php檔案操作之如何清空檔案重新新增資料》。

因此一開始為空檔案的cache.php中,現在的內容為:


php檔案操作如何將陣列資料存入檔案(兩種方法)##呼叫快取文件的時候只需要使用require()即可將快取檔案的內容複製給一個變量,然後輸出這個數組變數即可:

<?php
$cache = require(&#39;./cache.php&#39;);
var_dump($cache);
?>

輸出結果為:

php檔案操作如何將陣列資料存入檔案(兩種方法)

方法2:利用serialize方法使用serialize 將陣列序列化,儲存在檔案中;當呼叫時,再使用unserialize 還原。

我們透過下面範例來看看利用serialize()函數怎麼將陣列資料存入檔案

<?php
$file=&#39;./cache.php&#39;; 
$cache = array(
    &#39;id&#39;            =>  2,
    &#39;name&#39;          =>  &#39;李娜&#39;, 
    &#39;age&#39;           =>  23,
    &#39;sex&#39;           =>  &#39;女&#39;,
    &#39;college&#39;       =>  "软件技术",
    &#39;subject&#39;       =>  "PHP编程"
); 
//缓存 
if(false!==fopen($file,&#39;w+&#39;)){ 
  file_put_contents($file,serialize($cache));//写入缓存 
} 
?>

使用

file_put_contents($file,serialize($cache))

將序列化後的陣列資料儲存在cache.php檔案中。因此一開始為空檔案的cache.php中,現在的內容為:

php檔案操作如何將陣列資料存入檔案(兩種方法)#讀出快取的時候需要使用unserialize 還原cache.php裡資料即可

<?php
//读出缓存 
$file=&#39;./cache.php&#39;; 
$handle=fopen($file,&#39;r&#39;); 
$cache=unserialize(fread($handle,filesize($file))); 
var_dump($cache);
?>

輸出結果為:

php檔案操作如何將陣列資料存入檔案(兩種方法)好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →

PHP檔案基礎操作

#推薦:

PHP面試題大匯總(收藏)》《php影片教學

以上是php檔案操作如何將陣列資料存入檔案(兩種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn