Laravel 5.8: Как проверить тип данных в контроллере

#php #laravel #laravel-5.8

Вопрос:

У меня есть контроллер с таким методом

 public function chargeWallet(Request $request, $wallet, $user)
    {
        try {
            $data = $request->validate([
               'charge' => 'required|integer',
            ]);
        }catch (Exception $e) {
            dd($e);
        }
        return redirect(back());
    }
 

Как вы можете видеть, я проверяю, что charge тип должен быть целочисленным.

Теперь я хочу проверить, был ли тип данных charge целочисленным, затем сделайте это:

 if($data['charge'] == INTEGER)
   flash()->overlay('Success!', 'Success Message', 'success');
 

Итак, вопрос в том, как проверить тип данных в контроллере ? Что я должен написать вместо INTEGER того, чтобы проверять $data['charge'] ?

Комментарии:

1. Вы уже проверяете , что charge это целое число в validate() , $data['charge'] будет целым числом или будет выброшено 422

2. @JuanEizmendi Это был пример и другой вопрос. Просто хочу знать, как проверить этот тип данных в контроллере

3. is_int($var) is_int

Ответ №1:

вы можете использовать is_int($var) или is_integer($var) . вы также можете использовать is_numeric($var) , чтобы проверить, является ли переменная числом или числовой строкой.

 if(is_int($data['charge']))
   flash()->overlay('Success!', 'Success Message', 'success');