Laravel 5.8: 如何在控制器中检查数据类型

Laravel 5.8: How to check data type in Controller

我有一个控制器,其方法与此类似

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

如您所见,我正在检查 charge 类型必须是 integer.

现在我想检查 charge 的数据类型是否为整数,然后执行此操作:

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

那么问题来了,如何查看Controller中的数据类型呢?我应该写什么而不是 INTEGER 来检查 $data['charge']

您可以使用 is_int($var)is_integer($var)。您还可以使用 is_numeric($var) 来检查变量是数字还是数字字符串。

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