我要尋找的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