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 исключает либо a (obj), либо имя класса без кавычек

 $images instanceof Illuminate\Database\Eloquent\Collection 

Кроме того, интересно, что существует разница скорости и производительности, использующая instanceof над is_a , но это, вероятно, не относится к вам, если вы похожи на меня и в первую очередь искали ответ на этот вопрос.

Используемый класс здесь неверен. В общем, вы должны тестировать базовый класс.

 use Illuminate\Support\Collection; .... if($images instanceof Collection) { .... }