如果我们可以安全地转换为整数。

原型

RandomCompat_intval( int|float $number, boolean $fail_open = false )

描述

如果你传递一个范围内的浮点数(~PHP_INT_MAX,PHP_INT_MAX)(不包括),它会将它巧妙地转换为int。如果它等于~PHP_INT_MAX或PHP_INT_MAX,我们让它失败,因为它不是整数。浮点数会丢失精度,因此<=和=>运算符可能会意外地让浮点数通过。

参数

$number (int|float) (Required) 我们想要转换为int的数字

$fail_open (boolean) (Optional) 设置为true以不抛出异常

返回值

(int)  (如果是$ fail_open,则浮动)

源文件

路径:wp-includes/random_compat/cast_to_int.php

<?php
...
    function RandomCompat_intval($number, $fail_open = false)
    {
        if (is_numeric($number)) {
            $number += 0;
        }
        if (
            is_float($number)
            &&
            $number > ~PHP_INT_MAX
            &&
            $number < PHP_INT_MAX
        ) {
            $number = (int) $number;
        }
        if (is_int($number) || $fail_open) {
            return $number;
        }
        throw new TypeError(
            'Expected an integer.'
        );
    }
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/randomcompat_intval/