当前位置:  开发笔记 > 编程语言 > 正文

Laravel:找出变量是否是集合

如何解决《Laravel:找出变量是否是集合》经验,为你挑选了2个好方法。

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

我不能使用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) {

}


`is_a`自PHP 5.0以来已被弃用,所以虽然它正在工作,但它并不是最好的建议.
@Bogdan`is_a`在5.0.0中已弃用,但自5.3.0起已恢复(不再弃用).但是,考虑到历史,我仍然会推荐`instanceof`而不是`is_a`.另外,它看起来更好一点恕我直言.

2> Konchog..:

这里使用的类不正确.在一般意义上,您应该测试基类.

use Illuminate\Support\Collection;

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


这是这里唯一正确的答案.
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有