Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 5.4在返回结果之前,正确检查项目是否在数组中_Php_Laravel 5.4 - Fatal编程技术网

Php Laravel 5.4在返回结果之前,正确检查项目是否在数组中

Php Laravel 5.4在返回结果之前,正确检查项目是否在数组中,php,laravel-5.4,Php,Laravel 5.4,我正在检查是否在仅限邀请的平台上工作。您需要输入有效的令牌才能登机 只有第一个令牌进行验证,表中的任何其他令牌都不会被检查。构造这个的最佳方法是检查所有令牌,并且只在检查数组后转到else语句 $this->validate($request,['pin' => 'required|numeric|digits:6']); $token = $request->input('pin'); $all_pins = \App\Pin::all()-&

我正在检查是否在仅限邀请的平台上工作。您需要输入有效的令牌才能登机

只有第一个令牌进行验证,表中的任何其他令牌都不会被检查。构造这个的最佳方法是检查所有令牌,并且只在检查数组后转到else语句

    $this->validate($request,['pin' => 'required|numeric|digits:6']);

    $token = $request->input('pin');


    $all_pins  = \App\Pin::all()->toArray();
     if (in_array($token,$all_pins,true))
        {

            $user  = Auth::user()->id;
            $user = $this->user->find($user);
            $user->pin = $token;
            $user->is_activated = true;
            $user->has_pin = true;
            $user->save();

            flash('Your Pin was valid, Welcome', 'success');
            return redirect()->route('token_page');

        }

        else
        {
            flash('Sorry this pin is not valid', 'warning');
            return redirect()->route('reg_token_check');
        }`
`


试试这个

显示$token和$all_pinsI dd的输出,它们是有效的。我想说的是,它应该检查所有,但在这种情况下,当它检查一个并且它无效时,它返回else语句。在其他语句之前是否有一行空间?您可能无法得到它。因为在_数组中只会检查一次。等待会给你一个灵魂
foreach($all_pins as $value){
if($token == $value){
//do if part
    }
else{
//do else part
    }
}