我无法解释以下行为。当使用 (int) 转换非常大的整数(由 PHP 作为浮点数处理)时,我得到以下结果:
<?php
print (int)9223372036854775800; // returns: 9223372036854775800
echo "<br />";
print (int)11702667999999911110; // returns: -6744076073709639680
echo "<br />";
print (int)17999997999999911110; // returns: -446746073709639680
echo "<br />";
print (int)18400997999999911110; // returns: -45746073709639680
echo "<br />";
print (int)41702667999999999990; // returns: 0
?>
为什么 PHP 会返回这些值?