Hash function for PHP associative arrays


I understand that PHP associative arrays are stored in a Hash Table.
What hashing function is used for the string ‘keys’ ?


From 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)

Answered By – VolkerK

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published