最新公告
  • 欢迎您光临酷吧易,本站秉承服务宗旨 履行“站长”责任,服务永无止境!立即加入我们
  • PHP学习_如何区分PHP中intval()与(int)

    技术网文章:PHP学习_如何区分PHP中intval()与(int)

    原文重要对于intval()类型转换、(int)的强迫类型转换正在功效、界说圆里的区分作了一些示例比力,对于二者举行区别。

    1.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
    ?>

    2.(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>";                   
    ?>

    3.小结:

    int的强迫转换取intval()函数正在面临booleanintfloatarray时二者连结一致(没有凌驾各类类型隐示的最年夜值)。

    intval()假如参数是字符串,则返归字符串外第这个没有是数字的字符以前的数字串所代表的零数值。假如字符串第这个是‘-',则从第两个最先算起。假如参数是符点数,则返归他与零以后的值。

    int 类型最年夜值为 2147483647正常正在类型转换时 假如跨越那个最年夜值 便按最年夜值隐示,(int)则隐示-1609564160

    以上便是怎样区别PHP外intval()取(int)的具体内容,更多请存眷php外文网其它相干文章!

    【酷吧易】


    酷吧易资源网 » PHP学习_如何区分PHP中intval()与(int)

    发表评论