2

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

4

1 回答 1

2

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

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

于 2013-10-07T15:57:56.093 回答