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