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.
| Parameters | |||
|---|---|---|---|
| int|float | $number | The number we want to convert to an int | # | 
| bool | $fail_open = false | Set to true to not throw an exception | # | 
| Returns | |
|---|---|
| float|int | |
| Throws | |
|---|---|
| TypeError | |