我是 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 超过可以存储的最大整数值,导致溢出。