在php中數組寫入文件的方法有很多種,像我們要做成緩存文件就會把php數組轉換成文件然後保存到.php文件,調用時直接調用此文件即可。
php把數組寫入文件,通過序列和反序列實現。請看代碼
$file="./data/file.cache";
file_put_contents($file,serialize($array));//寫入緩存
<?php
$file="./data/file.cache";
$array = array("count" => "3000",
"num" =>"300");
//緩存
file_put_contents($file,serialize($array));//寫入緩存
?>
<?
$file="./data/file.cache";
$handle = fopen($file, "r");
$cacheArray = unserialize(fread($handle, filesize ($file)));
print_r($cacheArray);
?>
//將一個測試的數組寫入一個PHP文件:
代碼如下 復制代碼<?php //要寫入PHP文件的數組
$write_array = array( '1' => 'oneone', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five' ); //字符串處理
$string_start = "<?phpn"; $string_process = var_export($write_array, TRUE); $string_end = "n?>"; $string = $string_start.$string_process.$string_end; //開始寫入文件
echo file_put_contents('test_array.php', $string);
?>
這裡用到了兩個函數:
1,var_export():
·var_export — 用來輸出或返回一個變量的字符串表示,它和 var_dump() 的區別是,var_export() 可以用來返回關於傳遞給該函數的變量的結構信息,並且其返回的表示是合法的 PHP 代碼如果 “echo $string_process;”,則可以看到輸出結果:
代碼如下 復制代碼 array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )
而它就是我們要寫入 test_array.php 文件的內容(除去 php 標簽);
·var_dump() 函數用來打印變量的相關信息,它只用來“打印”,而不會返回值,它的原型是 void var_dump(……),我們來 “var_dump($string_process);”,則可以看到輸出結果:
代碼如下 復制代碼 string(86) "array ( 1 => 'oneone', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', )"
可以看到輸出的string(86) “…”,再一次說明了 var_export() 返回的是一個字符串。