При переходе с 32-х битной на 64-х битную версию PHP выплывает очень неприятный сюрприз - все функции, которые возвращали отрицательное целое число (crc32, ip2long, etc), при тех же данных, будут возвращать положительное число.
Результат работы следующего кода:
<?php echo crc32('habrahabr test crc32');
?>
На 32х битах = -982057838, на 64х битах = 3312909458, фактически это одно и тоже число - 0хc576fc92, разница только в интерпретации знакового бита. Если это число дальше...
Читати далі...