Laravel:找出变量是否是集合

新手上路,请多包涵

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

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

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

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

你有什么主意吗?

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

阅读 387
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 翻译
子站问答
访问
宣传栏