count() 参数必须是数组或在 laravel 中实现可数的对象

新手上路,请多包涵

这是这里的代码:

 protected function credentials(Request $request)
{
    $admin=admin::where('email',$request->email)->first();
    if(count($admin))
    {
       if($admin->status==0){
           return ['email'=>'inactive','password'=>'You are not an active person, Please contact to admin'];
           }
           else{
               return ['email'=>$request->email,'password'=>$request->password,'status'=>1];
           }
       }
       return $request->only($this->username(), 'password');
    }

当我运行代码时,此错误变为:

“count():参数必须是数组或者实现了Countable的对象”

原文由 faraz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 424
2 个回答

这是我的解决方案:

 count(array($variable));

原文由 Jericho Manalo 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是因为在 PHP 7.2 中 count() 中的 NULL 返回警告。你可以尝试改变

count($admin)

count((is_countable($admin)?$admin:[]))

原文由 Dmytro Huz 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题