🚀 تخفیف ۳۵٪ + ۳.۵ میلیون هدیه! برنامه‌نویسی رو الان شروع کن - فقط امروز!
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ مجید مردانه
استفاده از Reference Call در foreach
جامعه پی اچ پی ایجاد شده در ۰۶ مرداد ۱۴۰۲

سلام

تو متد آپدیت، برای بروزرسانی یک عضو از آرایه ای که از فایل 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));
}