Есть класс с функциями
<?php
class DataBase {
private $file;
private $data = [];
function __construct($file)
{
$this->file = $file;
$this->data = (array) @json_decode(file_get_contents($file), true);
}
public function add($id, $item)
{
if(isset($this->data[$id])) {
return false;
}
$this->data = [$id => $item] + $this->data;
return true;
}
public function find($id)
{
if(!isset($this->data[$id])) {
return false;
}
return $this->data[$id];
}
public function remove($id)
{
if(!isset($this->data[$id])) {
return false;
}
unset($this->data[$id]);
return true;
}
public function replace($id, $item)
{
if(!isset($this->data[$id])) {
return false;
}
$this->data[$id] = $item;
return true;
}
public function save()
{
return file_put_contents($this->file, json_encode($this->data));
}
public function all()
{
return $this->data;
}
}
сохраняю полученный результат в db_feat.json
Часть парсера
$items = $db_feat->all();
foreach ($items as $id => $item) {
try {
$info = $parser->getItem($id);
$db_feat->replace($id, $info);
} catch(Exception $e) {
$db_feat->remove($id);
}
sleep(SLEEP_CHECK);
}
for($page = 5; $page >= 1; $page--) {
// Загрузка
$items = $parser->getMarketplace('feat', $page);
foreach ($items as $item) {
$db_feat->add($item['id'], $item); // Добавляем в базу
}
sleep(SLEEP);
}
$db_feat->save();
Подскажите, как сохранить результат не сортируя по дате, т.е. как получил так и сохранил.
Спасибо!