Почему не работает такой код?

Почему не работает такой код?

public function get($id) {
   return array_filter($this->users, function ($user) {
       if (strcmp($id, $user->getId())) {
          return $user;
       }
       return null;
   });
}

Ответы (1 шт):

Автор решения: Dmitry Kozlov

Надо передать $id в анонимную функцию

public function get($id) {
   return array_filter($this->users, function ($user) use ($id) {
       if (strcmp($id, $user->getId())) {
          return $user;
       }
       return null;
   });
}
→ Ссылка