如何将数组存储在文件中,以便以后使用PHP作为数组进行访问?

php
2022-08-30 08:54:06

我只想快速存储一个从远程API获得的数组,这样我就可以在本地主机上搞砸它。

所以:

  1. 我目前有一个数组。
  2. 我希望人们使用数组而不必从API中获取它。

这里不需要效率等,这不是为了一个实际的网站,只是为了获得一些清理/格式化方法等

有没有像store_array()restore_arrray()这样的函数?!


答案 1

执行此操作的最佳方法是 JSON 序列化。它是人类可读的,您将获得更好的性能(文件更小,加载/保存速度更快)。代码非常简单。只有两个功能

示例代码:

$arr1 = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
file_put_contents("array.json",json_encode($arr1));
# array.json => {"a":1,"b":2,"c":3,"d":4,"e":5}
$arr2 = json_decode(file_get_contents('array.json'), true);
$arr1 === $arr2 # => true

您可以使用此示例轻松编写自己的store_array和restore_array函数。

有关速度比较,请参阅最初来自存储 PHP 数组的首选方法的基准测试(json_encode与序列化)。


答案 2

如果不需要转储文件是人类可读的,则只需序列化()数组即可。

存储:

file_put_contents('yourfile.bin', serialize($array));

检索:

$array = unserialize(file_get_contents('yourfile.bin'));

推荐