在網上看到一道題:
array("a")+array("b")的結果是___
A.array("a","b")
B.array("b","a")
C.array("b")
D.array("a")
答案:D
php兩個數組相加,為什麼結果還是不變呢?
因為,它們等效於array("0″=>"a")+array("0″=>"b"),它們的鍵名相同,前者不能被後者覆蓋,如果是array("0″=>"a")+array("0″=>"b","1″=>"c"),那麼結果等於array("0″=>"a","1″=>"c")
如果是同一個數組裡面,有相同的鍵名會出現什麼情況?
看一段php官方手冊中的代碼:
復制代碼 代碼如下:$switching = array( 10, // key = 0
5 => 6,
3 => 7,
'a' => 4,
11, // key = 6 (maximum of integer-indices was 5)
'8' => 2, // key = 8 (integer!)
'02' => 77, // key = '02'
0 => 12 // the value 10 will be overwritten by 12
);
可見,同一個數組裡面如果有相同的鍵名,則前面一個鍵名的值將會被覆蓋(overwritten)。