我要寻找的PHP equelent Java的PHP内部的hashCode功能
"SomeString".hashCode();
功能。我正在寻找的hashCode应该与用于索引PHP中的HashMap相同。我希望你能帮助我:)
编辑:
好吧发现功能我正在寻找它的C语言编写的,而不是在PHP本身,而是感谢您的帮助可用!
ulong zend_inline_hash_func(char *arKey, uint nKeyLength)
{
ulong $h = 5381;
char *arEnd = arKey + nKeyLength;
while (arKey < arEnd) {
$h += ($h << 5);
$h += (ulong) *arKey++;
}
return $h;
}
overflow32方法是错误的(%v而不是$ v,它在32位计算机上被0除)。 $ h =(int)(31 * $ h + ord($ s [$ i]))&0xffffffff;' – xryl669 2013-09-19 10:27:07
@ xryl669,你的代码行会在'hashCode( “153193cc3139f12e”)'。它将返回3369976574而不是-924990722。 – ahoo 2015-07-15 15:21:25
这仍然不适用于32位系统。 – SOFe 2016-02-22 11:05:46