سلام
تو متد آپدیت، برای بروزرسانی یک عضو از آرایه ای که از فایل users.json فچ کردیم، به جای عملیات unset و array_push به سادگی میشد از & استفاده کرد تو حلقه
به این شکل:
(و اینکه ای کاش از JSON_PRETTY_PRINT استفاده کنین تو ذخیره فایلهای json که تو نمایشش خواناتر باشه)
public function update(int $id, array $data = null)
{
$users = json_decode( file_get_contents ($this->repository),true );
foreach ($users as &$user) {
if ($user['id'] == $id) {
$user['full_name'] = $data['full_name'] ?? $user['full_name'];
$user['mobile'] = $data['mobile'] ?? $user['mobile'];
$user['email'] = $data['email'] ?? $user['email'];
$user['password'] = $data['password'] ?? $user['password'];
unlink($this->repository);
break;
}
}
file_put_contents($this->repository, json_encode($users, JSON_PRETTY_PRINT));
}