3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function hashCalc($arrKey) { $keyLen=count($arrKey); $hash=5381; $i=0; for(;$keyLen>=8;$keyLen-=8) { $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; $hash=(($hash<<5)+$hash)+$arrKey[$i++]; } switch($keyLen) { case 7: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 6: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 5: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 4: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 3: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 2: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 1: $hash=(($hash<<5)+$hash)+$arrKey[$i++]; case 0: default: break; } return $hash; } $arrInput=explode(",","0,1,2,3,4,5,6,7,8,9,1,2,3,4,5"); echo hashCalc($arrInput);
Output for 4.3.0 - 5.0.1, 5.0.3 - 5.2.1, 5.2.7 - 5.6.28, hhvm-3.10.0 - 3.13.2, 7.0.0 - 7.1.0
-6.4418707756273E+17
Output for 5.2.2 - 5.2.6
-644187077562730000
Output for 5.0.2
1.3712707475956E+19