RandomCompat_intval()
Cast to an integer if we can, safely.
If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX) (non-inclusive), it will sanely cast it to an int. If you it's equal to ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats lose precision, so the <= and => operators might accidentally let a float through.
Хуков нет.
Возвращает
float|int
.
Использование
RandomCompat_intval( $number, $fail_open );
- $number(int|float) (обязательный)
- The number we want to convert to an int
- $fail_open(true|false)
- Set to true to not throw an exception
По умолчанию: false
Код RandomCompat_intval() RandomCompat intval WP 6.1.1
function RandomCompat_intval($number, $fail_open = false) { if (is_int($number) || is_float($number)) { $number += 0; } elseif (is_numeric($number)) { /** @psalm-suppress InvalidOperand */ $number += 0; } /** @var int|float $number */ if ( is_float($number) && $number > ~PHP_INT_MAX && $number < PHP_INT_MAX ) { $number = (int) $number; } if (is_int($number)) { return (int) $number; } elseif (!$fail_open) { throw new TypeError( 'Expected an integer.' ); } return $number; }