PHP把数组写入文件实例代码

在php中数组写入文件的方法有很多种,像我们要做成缓存文件就会把php数组转换成文件然后保存到.php文件,调用时直接调用此文件即可。

php把数组写入文件,通过序列和反序列实现,请看如下代码:

  1. $file="./data/file.cache";
  2. file_put_contents($file,serialize($array));//写入缓存
  3. <?php
  4. $file="./data/file.cache";
  5. $array = array("count" => "3000",
  6. "num" =>"300");
  7. //缓存
  8. file_put_contents($file,serialize($array));//写入缓存
  9. ?>
  10. <?
  11. $file="./data/file.cache";
  12. $handle = fopen($file, "r");
  13. $cacheArray = unserialize(fread($handle, filesize ($file)));
  14. print_r($cacheArray);
  15. ?>

将一个测试的数组写入一个PHP文件,代码如下:

  1. <?php //要写入PHP文件的数组
  2. $write_array = array( '1' => 'oneone', '2' => 'two', '3' => 'three', '4' => 'four', '5' => 'five' ); //字符串处理
  3. $string_start = "<?phpn"; $string_process = var_export($write_array, TRUE); $string_end = "n?>"; $string = $string_start.$string_process.$string_end; //开始写入文件
  4. echo file_put_contents('test_array.php', $string);
  5. ?>

这里用到了两个函数:

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() 返回的是一个字符串.