我有一个数组
$monthlyStatistics = array('total' => 1, 'opened' => 1, 'clicked' => 1, 'bounced' => 1, 'optout' => 1);
我已保存到json文件
$monthlypath = '/storage/monthlytotals.json';
file_put_contents($monthlypath, json_encode($monthlyStatistics));
我需要读取这个json文件并将内容输出为具有指定键的数组。我目前正在这样做:
$monthlypath = '/storage/monthlytotals.json';
$read_file = file_get_contents($monthlypath);
$monthlytotals = json_decode($read_file);
我知道file_put_contents是一个字符串,而file()应该将整个文件读入一个数组(我目前没有使用它,因为它没有读取file_put_contents所写的内容)。
我这样做是错误还是我错过了一个与file()配合使用的函数,以便将其正确地编写为数组?
答案 0 :(得分:1)
您正尝试将内存中的PHP数据结构转换为可写入磁盘的内容。不知何故需要序列化 - 通过json_encode()
或serialize()
等。
file()
将文件读入行列表(每个数组条目一行)。
对于你正在做的事情,
file_put_contents($monthlypath, json_encode($totals))
和
$totals = json_decode(file_get_contents($monthlypath), true)
可能是你可能需要的全部。