@jazzus

Undefined variable при проверке переменной?

Код

if (!(Hash::check($request->current_password, $user->password))) {
                  $errors['old_password_error'] = 'Старый пароль введен неправильно';
              }

              if(strcmp($request->current_password, $request->new_password) == 0){
                  $errors['passwords_are_same'] = 'Новый пароль должен отличаться от текущего';
              }

              if ($errors) {
                return response()->json([
                  'errors'=>[
                    'password_change'=>$errors
                    ]
                  ]);
              }else{
                $user['password'] = Hash::make($request->new_password);
                $user->save();
              }


Получаю
Undefined variable: errors
При этом я через if ($errors) else как раз и проверяю существование переменной. Понятно, что можно другими вариантами, интересует почему в данном примере ошибка?
  • Вопрос задан
  • 195 просмотров
Решения вопроса 2
@vism
if ($errors) не проверяет существование переменной
Ответ написан
Комментировать
SerafimArts
@SerafimArts
Senior Notepad Reader
При этом я через if ($errors) else как раз и проверяю существование переменной.


if - это не проверка на существование. if - это проверка на то, что существующая переменная соответствует boolean true. Почитайте, пожалуйста документацию по основам языка: php.net/manual/ru/control-structures.if.php
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы