<?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);
preferences:
37.58 ms | 402 KiB | 5 Q