2015-07-12 52 views

回答

3

zend/hash.h

/* 
* DJBX33A (Daniel J. Bernstein, Times 33 with Addition) 
* 
* This is Daniel J. Bernstein's popular `times 33' hash function as 
* posted by him years ago on comp.lang.c. It basically uses a function 
* like ``hash(i) = hash(i-1) * 33 + str[i]''. This is one of the best 
* known hash functions for strings. Because it is both computed very 
* fast and distributes very well. 
* 
[...] 
*     -- Ralf S. Engelschall 
*/ 

static inline ulong zend_inline_hash_func(const char *arKey, uint nKeyLength)
+0

能否请您提供的链接呢? –

+0

https://github.com/php/php-src/blob/PHP-5.6.10/Zend/zend_hash.h#L237 – VolkerK