php array_merge函數(shù)使用需要注意的一個(gè)問題
使用php語言的array_merge函數(shù)時(shí),以為相同的鍵名會(huì)覆蓋,但是請(qǐng)看如下代碼:
$a1 = array(1=>'abc', 3=>10);
$a2 = array(1=>'efg', 3=>20);
print_r(array_merge($a1, $a2));
會(huì)輸出什么?我們預(yù)想中的是:
Array
(
[1] => efg
[3] => 20
)
實(shí)際上輸出的是:
Array
(
[0] => abc
[1] => 10
[2] => efg
[3] => 20
)
不但沒有被覆蓋,而且數(shù)字鍵被重新連續(xù)索引了。
起初以為這個(gè)是bug,后來翻了php手冊(cè) http://php.net/manual/zh/function.array-merge.php
「如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。然而,如果數(shù)組包含數(shù)字鍵名,后面的值將不會(huì)覆蓋原來的值,而是附加到后面。
如果只給了一個(gè)數(shù)組并且該數(shù)組是數(shù)字索引的,則鍵名會(huì)以連續(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對(duì)象轉(zhuǎn)換為數(shù)組函數(shù)(遞歸方法)
- php通過array_merge()函數(shù)合并兩個(gè)數(shù)組的方法
- php數(shù)組合并array_merge()函數(shù)使用注意事項(xiàng)
- 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í)候如何把一億條數(shù)據(jù)分表100張到Mysql數(shù)據(jù)庫中,需要的朋友可以參考下2015-07-07
PHP CKEditor 上傳圖片實(shí)現(xiàn)代碼
CKEditor的原包中沒有包含圖片的上傳服務(wù)器端處理文件,其公司的另一款開源產(chǎn)品:CKFinder做了很好的補(bǔ)充。但是要下載這個(gè)源代碼再進(jìn)行配置,雖然方便了很多,但是僅僅為了上傳圖片,卻要使用這么大的整個(gè)系統(tǒng)來使用,確實(shí)有點(diǎn)大材小用。2009-11-11
PHP實(shí)現(xiàn)的多維數(shù)組排序算法分析
這篇文章主要介紹了PHP實(shí)現(xiàn)的多維數(shù)組排序算法,結(jié)合實(shí)例形式對(duì)比分析了php針對(duì)多維數(shù)組及帶有鍵名的多維數(shù)組進(jìn)行排序相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-02-02
PHP 5.0對(duì)象模型深度探索之類的靜態(tài)成員
類的靜態(tài)成員與一般的類成員不同: 靜態(tài)成員與對(duì)象的實(shí)例無關(guān),只與類本身有關(guān)。他們用來實(shí)現(xiàn)類要封裝的功能和數(shù)據(jù),但不包括特定對(duì)象的功能和數(shù)據(jù),靜態(tài)成員包括靜態(tài)方法和靜態(tài)屬性。2008-03-03

