2017-06-20 7 views
0

に指定されたキーを持つ配列を読んで、私はJSONファイルに保存されている配列ライティングとJSONファイル

$monthlyStatistics = array('total' => 1, 'opened' => 1, 'clicked' => 1, 'bounced' => 1, 'optout' => 1); 

$monthlypath = '/storage/monthlytotals.json'; 
file_put_contents($monthlypath, json_encode($monthlyStatistics)); 

を持っていると私は、このJSONファイルを読み込む必要があり、指定されたキーを持つ配列として内容を出力します。私は現在、これをやっている:それは読んでいないので、私が現在使用していない配列にファイル全体を(読むことになっている私はますfile_put_contentsは、文字列と、そのファイル(として置くことを知っている)

$monthlypath = '/storage/monthlytotals.json'; 
$read_file = file_get_contents($monthlypath); 
$monthlytotals = json_decode($read_file); 

file_put_contentsが書いたもの)。

私はこれを間違っているのでしょうか、それとも、配列として適切に書き込むためにfile()と一緒に行なわなければならない関数がありませんか?

+0

['json_decode()'](http://php.net/manual/en/function.json-decode.php)のドキュメントを読んだことがありますか? – axiac

+0

はい私は文書を読んだ – Cyberio

答えて

1

メモリのPHPデータ構造体からディスクに書き込めるものに変換しようとしています。何らかの理由でそれは、json_encode()またはserialize()など

file()のいずれかのファイルを行のリスト(配列エントリごとに1行)に読み込みます。あなたがやっていることについては

file_put_contents($monthlypath, json_encode($totals))

$totals = json_decode(file_get_contents($monthlypath), true)

は、おそらくあなたはおそらく必要なすべてのです。

+0

ありがとう!私はそれを試み、あなたに戻ってきます。その提案されたメソッドは、指定されたキー値を保持しますか? – Cyberio

+0

はい。どちらも可能です。 'serialize'はより多くのPHPデータ型(特にオブジェクト)を処理しますが、 'json_encode'はおそらくより安全です。 –

関連する問題