在PHP中可以使用array_merge函數(shù)和兩個(gè)數(shù)組相加array+array的方式進(jìn)行數(shù)組合并,但兩者效果并不相同,下面為大家介紹兩者具體的使用區(qū)別. 區(qū)別如下:
1. 當(dāng)下標(biāo)為數(shù)值時(shí),array_merge()不會(huì)覆蓋掉原來(lái)的值,但array+array合并數(shù)組則會(huì)把最先出現(xiàn)的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉(不是覆蓋). 2. 當(dāng)下標(biāo)為字符時(shí),array+array仍然把最先出現(xiàn)的值作為最終結(jié)果返回,而把后面的數(shù)組擁有相同鍵名的那些值“拋棄”掉,但array_merge()此時(shí)會(huì)覆蓋掉前面相同鍵名的值.例子1:
代碼:
$arr1 = ["PHP", "apache"]; $arr2 = ["PHP", "MySQl", "HTML", "CSS"]; $mergeArr = array_merge($arr1, $arr2); $plusArr = $arr1 + $arr2; var_dump($mergeArr); var_dump($plusArr);
結(jié)果:
$mergeArr:
array (size=6) 0 => string "PHP" (length=3) 1 => string "apache" (length=5) 2 => string "PHP" (length=3) 3 => string "MySQl" (length=5) 4 => string "HTML" (length=4) 5 => string "CSS" (length=3)
$plusArr:
array (size=4) 0 => string "PHP" (length=3) 1 => string "apache" (length=5) 2 => string "HTML" (length=4) 3 => string "CSS" (length=3)例子2:
代碼:
$arr1 = ["PHP", "a"=>"MySQl"]; $arr2 = ["PHP", "MySQl", "a"=>"HTML", "CSS"]; $mergeArr = array_merge($arr1, $arr2); $plusArr = $arr1 + $arr2; var_dump($mergeArr); var_dump($plusArr);
結(jié)果
$mergeArr:
array (size=5) 0 => string "PHP" (length=3) "a" => string "HTML" (length=4) 1 => string "PHP" (length=3) 2 => string "MySQl" (length=5) 3 => string "CSS" (length=3)
$plusArr:
array (size=4) 0 => string "PHP" (length=3) "a" => string "MySQl" (length=5) 1 => string "MySQl" (length=5) 2 => string "CSS" (length=3)例子3:
代碼:
$arr1 = ["PHP", "a"=>"MySQl","6"=>"CSS"]; $arr2 = ["PHP", "MySQl", "a"=>"HTML", "CSS"]; $mergeArr = array_merge($arr1, $arr2); $plusArr = $arr1 + $arr2; var_dump($mergeArr); var_dump($plusArr);
結(jié)果:
$mergeArr:
array (size=6) 0 => string "PHP" (length=3) "a" => string "HTML" (length=4) 1 => string "CSS" (length=3) 2 => string "PHP" (length=3) 3 => string "MySQl" (length=5) 4 => string "CSS" (length=3)
$plusArr:
array (size=5) 0 => string "PHP" (length=3) "a" => string "MySQl" (length=5) 6 => string "CSS" (length=3) 1 => string "MySQl" (length=5) 2 => string "CSS" (length=3)
相信通過(guò)上邊三個(gè)例子大家已經(jīng)非常清楚array_merge()函數(shù)和array+array數(shù)組相加的區(qū)別了吧。
轉(zhuǎn)載請(qǐng)注明來(lái)源:https://segmentfault.com/a/11...
全階段PHP教學(xué)視頻下載地址:http://www.mobiletrain.org/vi...
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。互聯(lián)網(wǎng)+時(shí)代,時(shí)刻要保持學(xué)習(xí),攜手千鋒PHP,Dream It Possible。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22793.html
摘要:如果輸入的數(shù)組中有相同的字符串鍵名,則該鍵名后面的值將覆蓋前一個(gè)值。語(yǔ)法很簡(jiǎn)單,返回值是合并后的數(shù)組并不總是你所期望的返回值。如下會(huì)產(chǎn)生一條,并且的返回值會(huì)是。要注意的是參數(shù)為怎么處理。 導(dǎo)語(yǔ) array_merge 這個(gè)函數(shù)很實(shí)用,也很常用,但是它有一些特性,不注意的話就會(huì)造成麻煩。前幾天修改同事代碼的時(shí)候,就出現(xiàn)了這種問(wèn)題,所以查些資料寫下來(lái)。 定義與語(yǔ)法 array array_...
摘要:原文來(lái)自原文概述使用的函數(shù)允許你傳遞一個(gè)數(shù)組,然后移除重復(fù)的值,返回一個(gè)擁有唯一值的數(shù)組。有一個(gè)比較好而且更快的函數(shù)來(lái)替代使用函數(shù)來(lái)創(chuàng)建唯一的數(shù)組。 原文來(lái)自:http://www.hoohack.me/2016/01/11/faster-way-to-phps-array-unique-function/ 原文:Faster Alternative to PHP’s Array Un...
摘要:運(yùn)算符的優(yōu)先級(jí),是明顯高于,因此先執(zhí)行再執(zhí)行。這里會(huì)非常有趣的將轉(zhuǎn)換成一個(gè)數(shù)字而且默認(rèn)去掉了前面的也就是很顯然上面的問(wèn)題已經(jīng)說(shuō)過(guò)了數(shù)字和字符串類型不一致。 showImg(https://segmentfault.com/img/bVvhhO); 本文翻譯自:https://www.toptal.com/php/interview-questions ,文章所羅列的問(wèn)題雖然看似簡(jiǎn)單,但...
閱讀 1734·2021-11-22 12:09
閱讀 1461·2019-08-30 13:22
閱讀 2094·2019-08-29 17:00
閱讀 2644·2019-08-29 16:28
閱讀 2956·2019-08-26 13:51
閱讀 1183·2019-08-26 13:25
閱讀 3245·2019-08-26 12:14
閱讀 3015·2019-08-26 12:14