Php Laravel 5.4在返回结果之前,正确检查项目是否在数组中
我正在检查是否在仅限邀请的平台上工作。您需要输入有效的令牌才能登机 只有第一个令牌进行验证,表中的任何其他令牌都不会被检查。构造这个的最佳方法是检查所有令牌,并且只在检查数组后转到else语句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()-&
$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
}
}