已采納回答 / 陳雷
網(wǎng)上的資料非常多, 我轉(zhuǎn)一篇http://www.cnblogs.com/wuyuegb2312/archive/2013/06/08/3126510.html? 你看看哈, 有問題可以一起探討。
2019-01-25
已采納回答 / 陳雷
問題一:$arr[2]取得值是‘a(chǎn)bc’還是‘bar’?? ? ? ? 使用$arr[2]取的值還是‘a(chǎn)bc’? 但是請(qǐng)注意,在底層的hashtable中,abc被放在第1個(gè)位置,當(dāng)我們通過$arr[2]取值的時(shí)候, h值是2,2|-8=-6 從前面的索...
2019-01-03
講師回答 / 陳雷
可以這么簡(jiǎn)單的理解:1、對(duì)于key是數(shù)字的,就不用涉及到hash運(yùn)算,此時(shí)使用的是packed array; 當(dāng)然如果key的值較大,或者間隔較大,還是會(huì)退化成hash array。? packed array 能夠節(jié)省索引部分占用的內(nèi)存,是一個(gè)性能上的優(yōu)化;2、對(duì)于key是非數(shù)字的,必須用hash算法進(jìn)行計(jì)算出來它所在bucket的位置,那么索引數(shù)組是必不可少的,只能是hash array。這是底層的實(shí)現(xiàn),對(duì)于我們寫php代碼,需要關(guān)注的點(diǎn)是對(duì)于業(yè)務(wù)中的大數(shù)組,有沒有可能設(shè)計(jì)一些算法,讓它滿足packe...