为什么我不能使用空($example->body
),需要使用$example->body->isEmpty()
来检查空数组。什么是导致它无法使用empty()并且需要依赖isEmpty()
的返回类型?
我知道这是基于此post来自Laravel Collection。但是我真的不明白为什么幕后。非常感谢任何启发(但我会尝试从freshgrad POV中理解它)
答案 0 :(得分:1)
empty()
无效,因为它始终返回true
因为如果你dd($ example);您会注意到即使没有结果,您也会注意到Illuminate \ Support \ Collection的实例总是被返回。基本上你要检查的是$ a = new stdClass; if($ a){...}总是会返回true。
答案 1 :(得分:1)
如果var存在并且具有非空的非零值,则返回FALSE。 否则返回TRUE。
在手册中,他们提供了被认为是空的东西。 object
类型不属于它。 Laravel集合的实例(Illuminate\Support\Collection
)被视为object
类型。如果对象是PHP
的纯空对象并不重要,empty()
将始终返回false