Php 运行artisan basset时出现数组_键错误
当我从命令行运行php artisan basset-tidy时,我收到了正在进行的错误异常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,但出现此错误的原因是,对于的第一个参数,您传递的是对象,而不是数组 例如,如果我有一个数组,如下所示:
[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());
您可能需要检查清单和环境的结构方式