当前位置: 首页 > 知识库问答 >
问题:

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

刘京
2023-03-14

以下是代码:

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():参数必须是实现可计数的数组或对象”

共有3个答案

满俊楠
2023-03-14

请注意,在这里,当您使用count()方法时,应该有可数元素,如实现ArrayAccess数组或对象。

Admin::where('email',$request->email)->first();

但是first()方法提供的是单个元素,而不是集合或数组。get()方法返回一个带发现元素的集合

您可以直接检查变量本身,而不是使用count,它是定义的还是空的

if($admin){
  // do something here
}

或者您可以使用is\u null()方法

if(!is_null($admin)){
  // do something here
}
萧修永
2023-03-14

发生这种情况是因为在PHP 7.2 NULL中Count()返回警告。你可以试着改变

count($admin)

count((is_countable($admin)?$admin:[]))
宋俊民
2023-03-14

这是我的解决方案:

count(array($variable));

希望它能起作用!

 类似资料:
  • 请帮我解决这个问题,当我运行这段代码时,出现错误计数():参数必须是一个数组或一个对象,当我想获得no_st时实现可数

  • 这是我的代码片段在文件public_html/wp-内容/主题/arabv3/CustomMetaBox/CMB2.php,从第565行开始 运行代码时,出现以下错误: 参数必须是一个数组或一个对象,实现可数的

  • 我面临着奇怪的案子。我在生产环境中面临一个错误,而在开发中它工作正常。 开发: Laravel 5.4.28 PHP 7.0.13 MYSQL 5.7.17 制作:Laravel 5.4.28 PHP 7.2.1 MYSQL 5.7.20 在实现代码中。我用过: 在开发中,它运行良好。但是在生产中,它给我这个错误:Count():参数必须是一个数组或一个在Builder.php中实现可数的对象(第

  • 下面是我的文章,https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-php 但最后,当我尝试使用示例代码(HelloAnalytics.php)时,它会在命令行中显示如下错误,并且无法获取数据; PHP警告:Count():参数必须是一个数组或一个对象,在第67行的C:\xampp\h

  • 我正在处理symfony,收到了这个消息 参数必须是实现可数的数组或对象 此消息仅针对PHP7.2.14显示,不针对PHP7.1.26。 我想在服务器上应用的解决方案,就像这一个phpmyAdmin。 我知道有一些解决方案涉及像这样更改代码。 但我想要一个解决方案,是所有页面,所以在服务器端。 提前谢谢!

  • PHP警告:count():参数必须是在/opt/lampp/htdocs/deingreidcht/typo3conf/ext/toctoc\u comments/pi1/class.toctoc\u comments\u pi1.PHP中实现可数的数组或对象如何解决此问题 这是我的代码,我申请了条件,