laravel middleware array_key_exists()错误

时间:2018-01-05 18:18:33

标签: php laravel

我的中间件代码
php版本5.6.32-1

<?php

namespace App\Http\Middleware;
use Session, Closure;

class AuthLogin
{
    public function handle($request, Closure $next)
    {
        if (!Session::has('account')) {
          return redirect('/admin/login');
        }

        return $next($request);
    }
}

我收到此错误

  

array_key_exists():第一个参数应该是字符串或整数

发生了什么事?

我的mac上没有任何错误,但它发生在我的linode服务器上

1 个答案:

答案 0 :(得分:1)

由于以下原因,您收到此错误:

$arr = [[0] => 10,[1] => 20,[2] => 30,[3] => 40,[4] => 50];

让我们说你搜索值10或30

$ k = array_search(&#39; 10&#39;,$ arr);

现在$ k将保持[0]

如果这样做

array_key_exists($ k,$ arr);

你将获得array_key_exists():第一个参数应该是字符串或整数,因为$ ki,e 0被视为boolean而不是string或int但是如果我们搜索了30则不会发生此问题。