Gettype и неизвестный тип в php

Я только начал практиковать с встроенным PHP gettype() и его возвращаемым значением. Эта функция способна возвращать результаты тестирования, такие как boolean, integer, unknown type и т.д. Но среди результатов тестирования один попался мне в глаза: неизвестный тип.

После прочтения gettype() и попытаться найти здесь некоторую ссылку, я не могу ее получить.

Итак, вопрос в том, какой тип можно классифицировать как unknown type? Возможно ли, или я просто пропущу что-то прочитанное?

Ответ 1

Вот вам один неизвестный тип:

$f = fopen('somefile.txt','r');
echo gettype($f); // resource
fclose($f); 
echo gettype($f); // unknown

В принципе, всякий раз, когда указатель ресурсов закрывается, переменная, содержащая дескриптор, указывает на неизвестный ресурс. Другой пример - с помощью GD imagecreate/imagedestroy.

Примечание: с PHP 7.2, это больше не выполняется. gettype будет возвращать resource (closed).

Ответ 2

В соответствии с исходным кодом PHP это "случай по умолчанию" в инструкции switch для этой функции. Я предполагаю, что есть способ обработки внутренней ошибки.