Laravel - проверить, является ли переменная коллекцией или строкой [duplicate]

Конечно, он неэффективен, и многие его презирают, но он один из самых близких к упомянутым:

var myStringArray = ["Hello","World"];
myStringArray.forEach(function(f){
    // Do something
})
13
задан Albert 5 January 2016 в 19:50
поделиться

3 ответа

Не могли бы вы использовать

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) {

}
20
ответ дан Nigel Ren 28 August 2018 в 04:31
поделиться

Просто хотел исправить ошибку, с которой я столкнулся в этом ответе.

Обратите внимание, что instanceof исключает либо (obj), либо имя класса без кавычек

$images instanceof Illuminate\Database\Eloquent\Collection

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

4
ответ дан insitderp 28 August 2018 в 04:31
поделиться

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

use Illuminate\Support\Collection;

....
if($images instanceof Collection) { 
 ....
}
6
ответ дан Konchog 28 August 2018 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: