我想知道變量是否爲集合。Laravel:找出變量是否爲集合
我不能使用is_object(),因爲即使它不是一個集合,它也會是真的。 現在我用這個和它的工作原理:
if(is_object($images) && get_class($images) != 'Illuminate\Database\Eloquent\Collection') {
但我覺得它是如此醜陋,我花時間問你另一種解決方案。
你有什麼想法嗎?
我想知道變量是否爲集合。Laravel:找出變量是否爲集合
我不能使用is_object(),因爲即使它不是一個集合,它也會是真的。 現在我用這個和它的工作原理:
if(is_object($images) && get_class($images) != 'Illuminate\Database\Eloquent\Collection') {
但我覺得它是如此醜陋,我花時間問你另一種解決方案。
你有什麼想法嗎?
你不能使用
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) {
}
只想糾正我遇到了這個答案錯誤。
注意instanceof
節選無論是(OBJ)或之類的不帶引號的名稱
$images instanceof Illuminate\Database\Eloquent\Collection
而且,有趣的是有使用instanceof
在is_a
速度/性能差異,但是這可能是不相關對你來說,如果你像我一樣,並且首先在尋找這個問題的答案。
也工作..就像答案 –
正在使用的類在此處不正確。 一般來說,你應該測試基類。
use Illuminate\Support\Collection;
....
if($images instanceof Collection) {
....
}
這是這裏唯一正確的答案。 –
我會將它解壓縮到一個輔助函數isCollection()並在需要時使用它。 –
可能重複的[我可以檢查一個對象是否是一種特定的類,在PHP?](http://stackoverflow.com/questions/1965722/can-i-check-if-an-object-is-kind -of-a-specific-class-in-php) – Bogdan
[如何在PHP中檢查特定類型的對象]可能的重複(http://stackoverflow.com/questions/8091143/how-to-check-for -a-specific-type-of-object-in-php) – patricus