PHP:各种intval()结果

时间:2013-10-07 15:54:11

标签: php

我是php的初学者,最近看到intval()函数“返回var的整数值,使用指定的转换基数”。

当我查阅http://php.net/manual/en/function.intval.php的官方手册时,它给出了一个例子如下

echo intval(42);                      // 42  
echo intval(4.2);                     // 4  
echo intval('42');                    // 42  
echo intval('+42');                   // 42  
echo intval('-42');                   // -42  
echo intval(042);                     // 34  
echo intval('042');                   // 42  
echo intval(1e10);                    // 1410065408  
echo intval('1e10');                  // 1  
echo intval(0x1A);                    // 26  
echo intval(42000000);                // 42000000  
echo intval(420000000000000000000);   // 0  
echo intval('420000000000000000000'); // 2147483647  
echo intval(42, 8);                   // 42  
echo intval('42', 8);                 // 34  
echo intval(array());                 // 0  
echo intval(array('foo', 'bar'));     // 1  

echo intval(1e10);的答案是如何成为141006540​​8的?

1 个答案:

答案 0 :(得分:2)

这个答案解释了它:https://stackoverflow.com/a/13720856/2827152

1e10超过了可以存储的最大整数值,导致溢出。