1. 程式人生 > 程式設計 >php實現將陣列或物件寫入到檔案的方法小結【三種方法】

php實現將陣列或物件寫入到檔案的方法小結【三種方法】

本文例項講述了php實現將陣列或物件寫入到檔案的方法。分享給大家供大家參考,具體如下:

php將陣列或物件原樣寫入或儲存到檔案有三種方法可以實現

第一種方法是使用serialize,

第二種方法是使用print_r,

第三種方法是使用var_export,

本文章向大家介紹這三種方法是如何將陣列寫入到檔案的,需要的朋友可以參考一下。

第一:serialize方法

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

<?php 
$file='./cache/phone.php'; 
$array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large')); 
//快取 
if(false!==fopen($file,'w+')){ 
 file_put_contents($file,serialize($array));//寫入快取 
} 
//讀出快取 
$handle=fopen($file,'r'); 
$cacheArray=unserialize(fread($handle,filesize($file))); 

第二:print_r方法

用print_r 將陣列列印到txt檔案中。

<?php
$b = array (
  'm' => 'monkey','foo' => 'bar','x' => array ('x','y','z'));

$results = print_r($b,true); 
file_put_contents('filename.txt',print_r($b,true));
?>

第三:var_export方法

用var_export 直接將陣列以完整陣列的形式儲存到檔案中。

<?php 
$file='./cache/phone.php'; 
$array=array('color'=> array('blue','large')); 
//快取 
$text='<?php $rows='.var_export($array,true).';'; 
if(false!==fopen($file,$text); 
}else{ 
 echo '建立失敗'; 
}

將物件完整的儲存並追加到檔案末尾

$file = "notic_" . date("Ymd") . ".log";
$ct = date("Y-m-d H:i:s",time());

file_put_contents($file,var_export($object,true)."\r\n",FILE_APPEND);

ps: 正常情況下輸出到網頁的陣列會有限制,

php var_dump函式對陣列進行列印時,對多維陣列中陣列的層級越多越深層,子陣列會不顯示,只用省略號代替。這樣一來不便於程式的除錯

php的var_dump函數是php模組中xdebug模組所支援的,所以接下來我們需要配置這個xdebug即可。

修改 php.ini

;設定顯示最大的子節點數
xdebug.var_display_max_children=128
;設定顯示最大的位元組數
xdebug.var_display_max_data=512
;設定顯示最大得層級(深度)
xdebug.var_display_max_depth=15

然後重啟 php 服務

systemctl reload php-fpm nginx

更多關於PHP相關內容感興趣的讀者可檢視本站專題:《PHP陣列(Array)操作技巧大全》、《php字串(string)用法總結》、《php常用函式與技巧總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向物件程式設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧彙總》

希望本文所述對大家PHP程式設計有所幫助。