第一種方法是使用serialize,php
第二種方法是使用print_r,nginx
第三種方法是使用var_export,數組
本文章向你們介紹這三種方法是如何將數組寫入到文件的,須要的朋友能夠參考一下。緩存
使用 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 將數組打印到txt文件中。php-fpm
<?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 直接將數組以完整數組的形式存儲到文件中。spa
<?php $file='./cache/phone.php'; $array=array('color'=> array('blue','red','green'),'size'=> array('small','medium','large')); //緩存 $text='<?php $rows='.var_export($array,true).';'; if(false!==fopen($file,'w+')){ file_put_contents($file,$text); }else{ echo '建立失敗'; }
將對象完整的存儲並追加到文件末尾debug
$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
函數對數組進行打印
時,對多維數組
中數組的層級越多越深層,子數組會不顯示,只用省略號
代替。這樣一來不便於程序的調試
。code
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