Php 运行artisan basset时出现数组_键错误

Php 运行artisan basset时出现数组_键错误,php,laravel,Php,Laravel,当我从命令行运行php artisan basset-tidy时,我收到了正在进行的错误异常 [ErrorException] array_keys() expects parameter 1 to be array, object given basset [--delete-manifest] [--tidy-up] 不幸的是,我在网上找到了任何详细信息。虽然我没有使用Basset,但出现此错误的原因是,对于的第一个参数,您传递的是对象,而不是数组 例如,如果我有一个数组,如下所示:

当我从命令行运行php artisan basset-tidy时,我收到了正在进行的错误异常

[ErrorException] 
array_keys() expects parameter 1 to be array, object given

basset [--delete-manifest] [--tidy-up]

不幸的是,我在网上找到了任何详细信息。

虽然我没有使用Basset,但出现此错误的原因是,对于的第一个参数,您传递的是对象,而不是数组

例如,如果我有一个数组,如下所示:

$myGreatArray = array('first' => 'foo', 'bar' => 'sup');
$collections = array_keys($this->environment->all()) + array_keys($this->manifest->all());
然后将其传递到数组键:

print_r(array_keys($myGreatArray));
我会把它作为输出:

Array
(
    [0] => first
    [1] => bar
)
然而,我不能对一个对象做同样的事情,即使它是以同样的方式构造的

换句话说,我们不能这样做,不仅因为您需要var_dump对象,还因为您需要将数组传递给array_键:

$myGreatArray = new stdClass;
$myGreatArray->first = 'foo';
$myGreatArray->bar = 'sup';
print_r(array_keys($myGreatArray));
您将得到一个类似于您所看到的错误,尽管您所看到的似乎是由Basset处理的格式。在从命令行以外的其他位置运行脚本时,也可以看到它,具体取决于您的级别

编辑:

我刚刚调出了的源代码,看起来您得到了错误,如下所示:

$myGreatArray = array('first' => 'foo', 'bar' => 'sup');
$collections = array_keys($this->environment->all()) + array_keys($this->manifest->all());
您可能需要检查清单和环境的结构方式