3v4l.org

run code in 500+ PHP versions simultaneously
<?php function javaStringHash(string $string) : int{ $hash = 0; for($i = 0, $len = strlen($string); $i < $len; $i++){ $ord = ord($string[$i]); if(($ord & 0x80) !== 0){ $ord -= 0x100; } $hash = 31 * $hash + $ord; while($hash > 0x7FFFFFFF){ $hash -= 0x100000000; } while($hash < -0x80000000){ echo "FOO\n"; $hash += 0x100000000; } $hash &= 0xFFFFFFFF; } return $hash; } var_dump(javaStringHash('abcdefghiklmnopqrstuvwxyz')); var_dump(javaStringHash('a')); var_dump(javaStringHash('z')); var_dump(javaStringHash('お茶'));
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
int(1572325741) int(97) int(122) int(3343892678)

preferences:
101.11 ms | 1253 KiB | 4 Q