日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php中數(shù)組的并集、交集和差集函數(shù)介紹

php中數(shù)組的并集、交集和差集函數(shù)介紹

來源:程序員人生   發(fā)布時間:2013-10-09 01:52:32 閱讀次數(shù):3807次

在php中如果我想要對兩個數(shù)組進行如并集、交集和差集操作,我們可直接使用php自帶的函數(shù)來操作如array_merge(),array_intersect(),array_diff().

計算數(shù)組的合并 array_merge與“+”的區(qū)別

array_merge() 函數(shù)把兩個或多個數(shù)組合并為一個數(shù)組。

如果鍵名有重復(fù),該鍵的鍵值為最后一個鍵名對應(yīng)的值(后面的覆蓋前面的),如果數(shù)組是數(shù)字索引的,則鍵名會以連續(xù)方式重新索引。

注釋:如果僅僅向 array_merge() 函數(shù)輸入了一個數(shù)組,且鍵名是整數(shù),則該函數(shù)將返回帶有整數(shù)鍵名的新數(shù)組,其鍵名以 0 開始進行重新索引.代碼如下:

  1. $a = array(1 => 'a''b''c'); 
  2. $b = array(1 => 'aa', 2, 'c'); 
  3. $union = array_merge($a$b); 
  4. $plus = $a + $b
  5. print_r($union); 
  6. print_r($plus); 
  7. //結(jié)果依次為: 
  8. Array 
  9. [0]=> a 
  10. [1]=> b 
  11. [2]=> c 
  12. [3]=> aa 
  13. [4]=> 2 
  14. [5]=> c 
  15. Array 
  16. [1] => a 
  17. [2] => b 
  18. [3] => c 

要合并的兩個數(shù)組中有相同的字符串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用“+”合并數(shù)組則會和用“+”號合并數(shù)組相同數(shù)字鍵一樣把最先出現(xiàn)的值作為最終結(jié)果返回,如下例:

  1. $a2 = array('str' => 'a''b''c'); 
  2. $b2 = array('str' => 'aa', 2, 'c'); 
  3. $union2 = array_merge($a2$b2); 
  4. $plus2 = $a2 + $b2
  5. print_r($union2); 
  6. print_r($plus2); 
  7. //結(jié)果依次為: 
  8. Array 
  9. [str] => aa 
  10. [0] => b 
  11. [1] => c 
  12. [2] => 2 
  13. [3] => c 
  14. Array 
  15. [str] => a 
  16. [0] => b 
  17. [1] => c 

注:如果想用array_merge合并兩個數(shù)組,返回結(jié)果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉

計算數(shù)組的交集

array_intersect() 函數(shù)返回兩個或多個數(shù)組的交集數(shù)組,結(jié)果數(shù)組包含了所有在被比較數(shù)組中,也同時出現(xiàn)在所有其他參數(shù)數(shù)組中的值,鍵名保留不變,注釋:僅有值用于比較,代碼如下:

  1. $a = array('jpg','png','gif','bmp'); 
  2. $b = array('JPG','txt','docx','bmp'); 
  3. $intersection = array_intersect($a$b); 

還可以通過函數(shù),獲取自己想要的(比如元素不區(qū)分大小寫),代碼如下:

  1. $intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b)); 
  2. print_r($intersection); 
  3. print_r($intersection2); 
  4. //結(jié)果依次為: 
  5. Array 
  6. [3] => bmp 
  7. Array ( 
  8. [0] => jpg 
  9. [3] => bmp 

計算數(shù)組的差集,代碼如下:

  1. $old = array('jpg','png','gif','bmp'); 
  2. $new = array('JPG','txt','docx','bmp'); 
  3. $difference = array_diff($old$new); 

注:返回結(jié)果的元素包含$old的元素,不包括$new的元素

print_r($difference);

結(jié)果為:

  1. Array 
  2. [0] => jpg 
  3. [1] => png 
  4. [2] => gif 

也可以用函數(shù)先進行處理,再計算差集

array_diff() 函數(shù)返回兩個數(shù)組的差集數(shù)組。該數(shù)組包括了所有在被比較的數(shù)組中,但是不在任何其他參數(shù)數(shù)組中的鍵值,在返回的數(shù)組中,鍵名保持不變。

語法:array_diff(array1,array2,array3...)

代碼如下:

  1. $difference = array_diff(array_map('strtolower',$old), 
  2. array_map('strtolower',$new)); 
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产精品一区二区免费 | 一区二区久久久 | 国产一级免费视频 | 美女视频黄的免费的 | 亚洲精品一二三 | av免费观看在线 | 欧美3| 成人免费视| 麻豆视频观看 | 日本久草网 | 亚洲精品不卡 | 成人av观看 | 国产山村乱淫老妇av色播 | 国产成人午夜精品 | 国产一区二区三区麻豆 | av一区在线播放 | 国产亚洲精品久久久久动 | 成人国产精品久久久 | 色婷婷com | 日韩av激情 | 夜夜福利 | 成人永久免费视频 | 国产欧美日韩综合 | 亚洲三级在线看 | 在线地址一地址二免费看 | 国产在线视频一区二区三区 | 久久国产精品99国产 | 成人一区视频 | 久久精品网 | 一级视频在线观看 | 三级毛片视频 | 日韩中文字幕av在线 | 99热99精品| 日韩美女在线 | 久久久综合av | 中文av网站 | 国产日韩av在线播放 | 日本a级网站 | 国产99区 | 亚洲精品第六页 | 久久久.com |