天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中用hash實現的數組

php中使用最多的非Array莫屬了,那Array是如何實現的?在php內部Array通過一個hashtable來實現,其中使用鏈接法解決hash沖突的問題,這樣最壞情況下,查找Array元素的復雜度為O(N),最好則為1.
而其計算字符串hash值的方法如下,將源碼摘出來以供查備:
復制代碼 代碼如下:
static inline ulong zend_inline_hash_func(const char *arKey, uint nKeyLength)
{
register ulong hash = 5381;                                                   //此處初始值的設置有什么玄機么?
/* variant with the hash unrolled eight times */
for (; nKeyLength >= 8; nKeyLength -= 8) {                         //這種step=8的方式是為何?
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;                         //比直接*33要快
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;
hash = ((hash << 5) + hash) + *arKey++;
}
switch (nKeyLength) {
case 7: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */                             //此處是將剩余的字符hash
case 6: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */
case 5: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */
case 4: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */
case 3: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */
case 2: hash = ((hash << 5) + hash) + *arKey++; /* fallthrough... */                    
case 1: hash = ((hash << 5) + hash) + *arKey++; break;
case 0: break;
EMPTY_SWITCH_DEFAULT_CASE()
}
return hash;//返回hash值
}

ps:對于以下函數,仍有兩點不明:
hash = 5381設置的理由?
這種step=8的循環方式是為了效率么?

php技術PHP中用hash實現的數組,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美精品色婷婷五月综合 | 无码国产欧美日韩精品 | 与子敌伦刺激对白亂輪亂性 | 国内精品视频在线播放一区 | 日本精品久久久久中文字幕 | 在线中文字幕 | 日韩少妇爆乳无码专区 | 无码AV精品一区二区三区 | 男人吃奶摸下弄进去好爽 | 熟妇久久无码人妻AV蜜桃 | 无限资源日本2019版免费 | 哪灬你的鸣巴好大 | 免费观看99热只有精品 | 日本亚洲电影 | 一个人免费视频在线观看 | 无码欧美XXXXX在线观看裸 | 国产制服丝袜91在线 | 7m凹凸国产刺激在线视频 | 久久精品免视看国产 | 亚洲影院在线播放 | 久久久久综合网久久 | AV97最新无码喷水叫床 | 国产啪视频在线播放观看 | 最新国产亚洲亚洲精品视频 | 含羞草国产亚洲精品岁国产精品 | 久久中文字幕人妻熟AV女蜜柚M | qvod快播在线观看 | 啪啪漫画无遮挡全彩h网站 啪啪漫画无遮挡全彩h同人 | 猫咪av永久最新域名 | 久草色视频 | 999精品国产人妻无码系列 | 久久成人a毛片免费观看网站 | 亚洲欧洲精品A片久久99 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片潮喷动漫 | 欧美一级黄色影院 | 永久免费看A片无码网站四虎 | 日韩人妻无码专区一本二本 | 国产成人免费手机在线观看视频 | 亚洲精品午夜aaa级久久久久 | 伊人久久综合影院 | 蝴蝶中文综合娱乐网2 |