と思いきやSqliteさんが優秀という説。
一方通行ならテキスト系ファイル、ソートやら追加更新が頻繁なら
Sqliteさんでしょうか。
使ったこと無いのでこっちはまた今度!
今回はなんかよくわかんないけど好きな形式で
Jsonファイルに追加するというもの。
具体的にはこう。
Jsonファイルに最初だけこうしておいて
{}
こうなります。
{ "0": { "name": "abc", "date": "2017-05-05 21:37:05" }, "1": { "name": "abc", "date": "2017-05-05 21:37:11" }, "2": { "name": "abc", "date": "2017-05-05 21:37:13" } }
“0"みたいに数字が入ってくれるのがすき。
いまいちこの数字がどこから湧いてくるのかわかりませんが。
PHPのコードです
<?php $file = file_get_contents("data.json"); $json = json_decode($file,true); $input = new stdClass(); $input->name ="abc"; $input->date = date('Y-m-d H:i:s'); $json[]= $input; file_put_contents("data.json", json_encode((object)$json,JSON_PRETTY_PRINT)) ?>
お題のもう一つStdclassさんです。
後からプロパティを足せる定義済みのクラスというものだそうな。
なんだろう、事前に決めたの以外は使わせないのも
クラスの大事な機能だったような……。
普通に連想配列書くとこうなっちゃいます。
$inputArray['name'] = "abc"; $inputArray['date'] = date('Y-m-d H:i:s');
[‘○○’]ってタイプするのいやなのですよ!
ほぼこれが理由だったり。
あとは、とりあえずStdclassにしておいて
あとで自作のクラスに変更するなんてのもよいかなと思ったり。
変更するの忘れそう
忘れてました!
驚くべきことにプロパティ部分には変数が使えます。
$input = new stdClass(); $property = "date"; $input->name ="abc"; $input->$property = date('Y-m-d H:i:s');
こういうふうにしてもおっけ!
なんかこう居心地が悪く感じるのはわたしだけでしょうか。
さて、それではSqliteしらべてきまっす!