Я отлаживаю некоторый код, и предыдущий разработчик написал:
if (!is_float((float)$value)) {
throw new \Exception();
}
В приведенной ниже таблице R
- это результат преобразования VALUE
с указанным TYPE
в (float)
, x
означает, что здесь возможны разные значения.
R TYPE VALUE
- ---- -----
0 null
0 bool false
1 bool true
x int x
x float x
0 string 'invalid'
x string 'x'
0 array []
1 array [x]
1 object x (raises a notice)
x resource handle (unintuitive)
Мне не удалось найти значение, которое нельзя преобразовать в (float)
. Возможно ли вообще выбросить вышеупомянутый \Exception
?
Документация PHP гласит:
Преобразование в число с плавающей точкой
Информацию о преобразовании строк в число с плавающей запятой см. В разделе Преобразование строк в числа. Для значений других типов, преобразование выполняется путем преобразования значения сначала в целое число, а затем в число с плавающей запятой . См. Преобразование в целое число для получения дополнительной информации. По состоянию на PHP 5 выдается уведомление, если объект преобразован в число с плавающей точкой.
(выделено мной)
Итак, насколько я могу судить, вышеприведенное \Exception
недоступен код Это правильно, или другой разработчик знает что-то, чего я не знаю?