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 для этой функции. Я предполагаю, что есть способ обработки внутренней ошибки.