PHP中用+號(hào)連接數(shù)組的結(jié)果是?我們?cè)陂_發(fā)中,有時(shí)候會(huì)將兩個(gè)數(shù)組合并連接起來,這個(gè)時(shí)候要注意了,千萬不要偷懶直接使用+號(hào)哦,為什么呢?我們看看以下代碼:
請(qǐng)用第一直接告訴我它的結(jié)果是什么?或許我這么問你應(yīng)該能猜到,它的結(jié)果是:
看出來了吧,用+號(hào)操作符連接的數(shù)組,結(jié)果取的是并集。也就是根據(jù)鍵,相同鍵的不會(huì)覆蓋,沒有鍵加入進(jìn)來形成一個(gè)新數(shù)組。并不是將兩個(gè)數(shù)組真的加起來。 如果我們用$b+$a呢?那么結(jié)果就是$b的內(nèi)容。
那么我們要獲得1,2,4,5,6這樣一個(gè)數(shù)組要怎么辦呢?沒錯(cuò),使用array_merge()函數(shù),請(qǐng)注意數(shù)組Key的位置:
如果是key/value形式的Hash數(shù)組呢?結(jié)果也是一樣的,$a中沒有鍵將合并過來,相同的鍵將不處理。
上述Hash數(shù)組,使用array_merge()函數(shù)的結(jié)果和使用+號(hào)的結(jié)果是一樣的,這是因?yàn)樗麄冞€是進(jìn)行了鍵的對(duì)比。所以合并后的數(shù)組不會(huì)增加內(nèi)容,如果是未定義下標(biāo)的則會(huì)直接以數(shù)字下標(biāo)添加進(jìn)去。 最后,我們?cè)僭囋?操作符的連接:
好吧,強(qiáng)轉(zhuǎn)成string類型的字符串再拼接起來了,并無特別的意義。 測(cè)試代碼:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/PHP%E4%B8%AD%E7%94%A8%2B%E5%8F%B7%E8%BF%9E%E6%8E%A5%E6%95%B0%E7%BB%84%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%9F.php 參考文檔:https://www./manual/zh/language.operators.array.php |
|