Laravel:找出变量是否是集合

2022-08-30 10:28:49

我想找出变量是否是集合。

我不能使用is_object(),因为即使它不是集合,它也是正确的。现在我使用这个,它的工作原理:

if(is_object($images) && get_class($images) != 'Illuminate\Database\Eloquent\Collection') {

但我认为它太丑陋了,以至于我花时间问你另一种解决方案。

你有什么想法吗?


答案 1

你可以试试这样的东西

if(is_a($images, 'Illuminate\Database\Eloquent\Collection')) {
    ....do whatever for a collection....
} else {
    ....do whatever for not a collection....
}

if ($images instanceof \Illuminate\Database\Eloquent\Collection) {
    ....do whatever for a collection....
}

答案 2

此处使用的类不正确。在一般意义上,您应该测试基类。

use Illuminate\Support\Collection;

....
if($images instanceof Collection) { 
 ....
}

推荐