Laravel:找出变量是否是集合

新手上路,请多包涵

我想知道一个变量是否是一个集合。

我不能使用 is_object() 因为即使它不是一个集合也是如此。现在我用这个,它有效:

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

但我觉得它太丑了,所以我花时间向你询问另一种解决方案。

你有什么主意吗?

原文由 Albert 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 386
2 个回答

你可以尝试这样的事情

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....
}

原文由 P. Gearman 发布,翻译遵循 CC BY-SA 4.0 许可协议

此处使用的类不正确。一般来说,您应该测试基类。

 use Illuminate\Support\Collection;

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

原文由 Konchog 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏