PHP:各种 intval() 结果


PHP: various intval() results

我是 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);的答案是怎么1410065408的?

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

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