2015-06-17 8 views
0

У меня есть столбец типа массива. Он хранит указатели на другие объекты. Так что в моем цикле у меня есть что-то вроде этого:Анализ: Проверьте, существует ли объект до извлечения

foreach ($artworkArr as $a) { 
    $a->fetch(); 
    $artworkName[] = $a->get('title'); 
} 

Проблема здесь в том, fetch немедленно вызывает исключение, если указатель не на недопустимый объект.

Как проверить, существует ли объект до вызова метода fetch?

+0

Попробуйте использовать 'попробовать/catch', чтобы поймать их исключения – Justinas

ответ

1

Просто попробуйте:

foreach ($artworkArr as $a) { 
    if ($a instanceof ExpectedClass) { 
     $a->fetch(); 
     $artworkName[] = $a->get('title'); 
    } 
} 

Или, если вы не знаете ExpectedClass, вы можете использовать method_exists на $a объекта:

method_exists($a, 'fetch')