• 技术文章 >后端开发 >PHP问题

    php中int和intval有什么区别

    长期闲置长期闲置2022-07-27 16:30:57原创377

    php中int和intval的区别:1、int是指Integer整型,intval是指用于获取变量整数值的函数;2、int的强制转换与intval函数在超出各种类型显示的最大值时,intval如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值,int类型有指定的最大值。

    本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑

    php中int和intval有什么区别

    intval() 函数用于获取变量的整数值。

    intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

    php里int是指Integer整型

    intval()函数

    语法:

    intval ( mixed $value , int $base = 10 ) : int

    value为要转换成 integer 的数量值

    base为转化所使用的进制(不填默认为10进制)

    返回值:int型变量

    PS:除非 value 是一个字符串,否则 base 不会起作用。

    示例:

    <?php
    echo intval(42)."<br>";                      // 42
    echo intval(4.2)."<br>";                     // 4
    echo intval('42')."<br>";                    // 42
    echo intval('+42')."<br>";                   // 42
    echo intval('-42')."<br>";                   // -42
    echo intval(042)."<br>";                     // 34
    echo intval('042')."<br>";                   // 42
    echo intval(1e10)."<br>";                    // 1410065408
    echo intval('1e10')."<br>";                  // 1
    echo intval(0x1A)."<br>";                    // 26
    echo intval(42000000)."<br>";                // 42000000
    echo intval(420000000000000000000)."<br>";   // 0
    echo intval('420000000000000000000')."<br>"; // 2147483647
    echo intval(42, 8)."<br>";                   // 42
    echo intval('42', 8)."<br>";                 // 34
    echo intval(array())."<br>";                 // 0
    echo intval(array('foo', 'bar'))."<br>";     // 1
    echo intval(false)."<br>";                   // 0
    echo intval(true)."<br>";                    // 1
    ?>

    (int)强制转换

    示范:

    <?php
    echo (int)42;     // 42
    echo "<br>";
    echo (int)4.2;    // 4
    echo "<br>";                   
    echo (int)'42';   // 42
    echo "<br>";                    
    echo (int)'+42';  // 42
    echo "<br>";                  
    echo (int)'-42';  // -42
    echo "<br>";                 
    echo (int)042;    //  34
    echo "<br>";                    
    echo (int)'042';  // 42
    echo "<br>";                  
    echo (int)1e10;   // 1410065408
    echo "<br>";                    
    echo (int)'1e10'; //2147483647
    echo "<br>";                
    echo (int)0x1A;   // 26
    echo "<br>";                    
    echo (int)42000000;// 42000000
    echo "<br>";                
    echo (int)420000000000000000000;  //-1609564160
    echo "<br>"; 
    echo (int)'420000000000000000000'; //2147483647
    echo "<br>";
    /*echo intval(42, 8)."<br>";                   
    echo intval('42', 8)."<br>";              */
    /*int的强制转换不是函数,所以无法实现*/  
                    
    echo (int)array();// 0
    echo "<br>";                 
    echo (int)array('foo', 'bar');//1
    echo "<br>";     
    echo (int)false;   //0
    echo "<br>";              
    echo (int)true;    //1
    echo "<br>";                   
    ?>

    小结:

    推荐学习:《PHP视频教程

    以上就是php中int和intval有什么区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php
    上一篇:php二维数组怎么求平均值 下一篇:php中cgi和fcgi有什么区别
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• php中二维数组怎么去掉key(键名)• php parser怎么用• php中两个数组怎么去除重复值• php怎么判断是否为空数组• php二维数组怎么求平均值
    1/1

    PHP中文网