php array_merge函數(shù)使用需要注意的一個問題
使用php語言的array_merge函數(shù)時,以為相同的鍵名會覆蓋,但是請看如下代碼:
$a1 = array(1=>'abc', 3=>10);
$a2 = array(1=>'efg', 3=>20);
print_r(array_merge($a1, $a2));
會輸出什么?我們預(yù)想中的是:
Array
(
[1] => efg
[3] => 20
)
實(shí)際上輸出的是:
Array
(
[0] => abc
[1] => 10
[2] => efg
[3] => 20
)
不但沒有被覆蓋,而且數(shù)字鍵被重新連續(xù)索引了。
起初以為這個是bug,后來翻了php手冊 http://php.net/manual/zh/function.array-merge.php
「如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會覆蓋原來的值,而是附加到后面。
如果只給了一個數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引?!?/p>
- PHP查詢并刪除數(shù)據(jù)庫多列重復(fù)數(shù)據(jù)的方法(利用數(shù)組函數(shù)實(shí)現(xiàn))
- php數(shù)組函數(shù)array_key_exists()小結(jié)
- PHP常用數(shù)組函數(shù)介紹
- php之XML轉(zhuǎn)數(shù)組函數(shù)的詳解
- PHP對象轉(zhuǎn)換為數(shù)組函數(shù)(遞歸方法)
- php通過array_merge()函數(shù)合并兩個數(shù)組的方法
- php數(shù)組合并array_merge()函數(shù)使用注意事項
- PHP合并數(shù)組+與array_merge的區(qū)別分析
- php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)
- PHP中array_slice函數(shù)用法實(shí)例詳解
- php array_slice函數(shù)的使用以及參數(shù)詳解
- 使用array_map簡單搞定PHP刪除文件、刪除目錄
- php array_map()數(shù)組函數(shù)使用說明
- PHP常見數(shù)組函數(shù)用法小結(jié)
相關(guān)文章
1億條數(shù)據(jù)如何分表100張到Mysql數(shù)據(jù)庫中(PHP)
這篇文章主要介紹了當(dāng)數(shù)據(jù)量猛增的時候如何把一億條數(shù)據(jù)分表100張到Mysql數(shù)據(jù)庫中,需要的朋友可以參考下2015-07-07
PHP CKEditor 上傳圖片實(shí)現(xiàn)代碼
CKEditor的原包中沒有包含圖片的上傳服務(wù)器端處理文件,其公司的另一款開源產(chǎn)品:CKFinder做了很好的補(bǔ)充。但是要下載這個源代碼再進(jìn)行配置,雖然方便了很多,但是僅僅為了上傳圖片,卻要使用這么大的整個系統(tǒng)來使用,確實(shí)有點(diǎn)大材小用。2009-11-11
PHP實(shí)現(xiàn)的多維數(shù)組排序算法分析
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組排序算法,結(jié)合實(shí)例形式對比分析了php針對多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-02-02

