Я хочу использовать цикл foreach
с переменной, но эта переменная может быть много разных типов, например NULL
.
Итак, перед foreach
я тестирую его:
if(is_array($var)){
foreach($var as ...
Но я понял, что это также может быть класс, реализующий интерфейс Iterator
. Может быть, я слепой, но как проверить, реализует ли класс интерфейс? Есть что-то вроде функции is_a
или оператора inherits
? Я нашел class_implements
, я могу использовать его, но, может быть, есть что-то более простое?
И во-вторых, что более важно, я полагаю, что эта функция существует, было бы достаточно, чтобы проверить, существует ли переменная is_array
или "реализует интерфейс Iterator
" или мне нужно проверить что-то еще?