使用php語言的array_merge函數(shù)時,以為相同的鍵名會覆蓋,但是請看如下代碼:
會輸出什么?我們預(yù)想中的是:
實際上輸出的是:
不但沒有被覆蓋,而且數(shù)字鍵被重新連續(xù)索引了。
起初以為這個是bug,后來翻了php手冊 http://php.net/manual/zh/function.array-merge.php
「如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。」
新聞熱點
疑難解答