日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP求并集,交集,差集

發布時間:2025/7/25 php 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP求并集,交集,差集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP求并集,交集,差集

一、總結

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

array_merge() array_intersect() array_diff()

?

1、php中如何求并集?

array_merge() +

計算數組的合并 array_merge與“+”的區別

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

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

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

  • $a = array(1 => 'a', 'b', 'c');
  • $b = array(1 => 'aa', 2, 'c');
  • $union = array_merge($a, $b);
  • $plus = $a + $b;
  • print_r($union);
  • print_r($plus);
  • //結果依次為:
  • Array
  • {
  • [0]=> a
  • [1]=> b
  • [2]=> c
  • [3]=> aa
  • [4]=> 2
  • [5]=> c
  • }
  • Array
  • (
  • [1] => a
  • [2] => b
  • [3] => c
  • )
  • 要合并的兩個數組中有相同的字符串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用“+”合并數組則會和用“+”號合并數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:

  • $a2 = array('str' => 'a', 'b', 'c');
  • $b2 = array('str' => 'aa', 2, 'c');
  • $union2 = array_merge($a2, $b2);
  • $plus2 = $a2 + $b2;
  • print_r($union2);
  • print_r($plus2);
  • //結果依次為:
  • Array
  • (
  • [str] => aa
  • [0] => b
  • [1] => c
  • [2] => 2
  • [3] => c
  • )
  • Array
  • (
  • [str] => a
  • [0] => b
  • [1] => c
  • )
  • 注:如果想用array_merge合并兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉

    ?

    2、php合并 array_merge與“+”的區別是什么?

    + 合并索引

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

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

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

  • $a = array(1 => 'a', 'b', 'c');
  • $b = array(1 => 'aa', 2, 'c');
  • $union = array_merge($a, $b);
  • $plus = $a + $b;
  • print_r($union);
  • print_r($plus);
  • //結果依次為:
  • Array
  • {
  • [0]=> a
  • [1]=> b
  • [2]=> c
  • [3]=> aa
  • [4]=> 2
  • [5]=> c
  • }
  • Array
  • (
  • [1] => a
  • [2] => b
  • [3] => c
  • )
  • 要合并的兩個數組中有相同的字符串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用“+”合并數組則會和用“+”號合并數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:

  • $a2 = array('str' => 'a', 'b', 'c');
  • $b2 = array('str' => 'aa', 2, 'c');
  • $union2 = array_merge($a2, $b2);
  • $plus2 = $a2 + $b2;
  • print_r($union2);
  • print_r($plus2);
  • //結果依次為:
  • Array
  • (
  • [str] => aa
  • [0] => b
  • [1] => c
  • [2] => 2
  • [3] => c
  • )
  • Array
  • (
  • [str] => a
  • [0] => b
  • [1] => c
  • )
  • 注:如果想用array_merge合并兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉

    ?

    3、php中如何求交集?

    array_intersect()

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

  • $a = array('jpg','png','gif','bmp');
  • $b = array('JPG','txt','docx','bmp');
  • $intersection = array_intersect($a, $b);
  • 還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:

  • $intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
  • print_r($intersection);
  • print_r($intersection2);
  • //結果依次為:
  • Array
  • (
  • [3] => bmp
  • )
  • Array (
  • [0] => jpg
  • [3] => bmp
  • )
  • ?

    ?

    ?

    4、php中如何求差集?

    array_diff()

    計算數組的差集,代碼如下:

  • $old = array('jpg','png','gif','bmp');
  • $new = array('JPG','txt','docx','bmp');
  • $difference = array_diff($old, $new);
  • 注:返回結果的元素包含$old的元素,不包括$new的元素

    print_r($difference);

    結果為:

  • Array
  • (
  • [0] => jpg
  • [1] => png
  • [2] => gif
  • )
  • 也可以用函數先進行處理,再計算差集

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

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

    代碼如下:

  • $difference = array_diff(array_map('strtolower',$old),
  • array_map('strtolower',$new));
  • ?


    ?

    ?

    二、PHP數組的幾個操作,求并集,交集,差集,數組與字符串的相互轉換及數組去重

    參考:PHP數組的幾個操作,求并集,交集,差集,數組與字符串的相互轉換及數組去重 - shao.bing的專欄 - CSDN博客
    https://blog.csdn.net/shaobingj126/article/details/51814726

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

    計算數組的合并 array_merge與“+”的區別

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

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

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

  • $a = array(1 => 'a', 'b', 'c');
  • $b = array(1 => 'aa', 2, 'c');
  • $union = array_merge($a, $b);
  • $plus = $a + $b;
  • print_r($union);
  • print_r($plus);
  • //結果依次為:
  • Array
  • {
  • [0]=> a
  • [1]=> b
  • [2]=> c
  • [3]=> aa
  • [4]=> 2
  • [5]=> c
  • }
  • Array
  • (
  • [1] => a
  • [2] => b
  • [3] => c
  • )
  • 要合并的兩個數組中有相同的字符串鍵的時候,使用array_merge()會覆蓋掉原來的值,而使用“+”合并數組則會和用“+”號合并數組相同數字鍵一樣把最先出現的值作為最終結果返回,如下例:

  • $a2 = array('str' => 'a', 'b', 'c');
  • $b2 = array('str' => 'aa', 2, 'c');
  • $union2 = array_merge($a2, $b2);
  • $plus2 = $a2 + $b2;
  • print_r($union2);
  • print_r($plus2);
  • //結果依次為:
  • Array
  • (
  • [str] => aa
  • [0] => b
  • [1] => c
  • [2] => 2
  • [3] => c
  • )
  • Array
  • (
  • [str] => a
  • [0] => b
  • [1] => c
  • )
  • 注:如果想用array_merge合并兩個數組,返回結果可能還會有相同的元素,這時候可以用array_unique()把相同的元素去掉

    計算數組的交集

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

  • $a = array('jpg','png','gif','bmp');
  • $b = array('JPG','txt','docx','bmp');
  • $intersection = array_intersect($a, $b);
  • 還可以通過函數,獲取自己想要的(比如元素不區分大小寫),代碼如下:

  • $intersection2 = array_intersect(array_map('strtolower',$a), array_map('strtolower',$b));
  • print_r($intersection);
  • print_r($intersection2);
  • //結果依次為:
  • Array
  • (
  • [3] => bmp
  • )
  • Array (
  • [0] => jpg
  • [3] => bmp
  • )
  • 計算數組的差集,代碼如下:

  • $old = array('jpg','png','gif','bmp');
  • $new = array('JPG','txt','docx','bmp');
  • $difference = array_diff($old, $new);
  • 注:返回結果的元素包含$old的元素,不包括$new的元素

    print_r($difference);

    結果為:

  • Array
  • (
  • [0] => jpg
  • [1] => png
  • [2] => gif
  • )
  • 也可以用函數先進行處理,再計算差集

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

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

    代碼如下:

  • $difference = array_diff(array_map('strtolower',$old),
  • array_map('strtolower',$new));
  • ?

    數組轉換為字符串:

    ?

    <?php $arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr); ?>

    ?

    字符串轉換為數組:

    <?php
    $str="1432532 ,4444";

    $arr = explode(",",$str);
    echo count($arr)."</br>";

    print_r($arr);
    ?>

    數組元素值去重

    ?

    <?php $a=array("a"=>"red","b"=>"green","c"=>"red"); print_r(array_unique($a)); ?>

    ?

    ?

    針對有空格的字符串轉換成無空格的字符串

    <?php
    $str="1432532 ,67878";

    $arr = explode(",",$str);
    //echo count($arr)."</br>";

    $str_u='';

    for($i=0;$i<count($arr);$i++)
    {

    $str_u .=trim($arr[$i]).',';

    }
    echo $str_u;

    ?>

    ?

    轉載于:https://www.cnblogs.com/Renyi-Fan/p/10226009.html

    總結

    以上是生活随笔為你收集整理的PHP求并集,交集,差集的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久高清精品 | 丝袜老师扒开让我了一夜漫画 | 关秀媚三级 | 久久精品国产99国产精品 | 波多野结衣电影免费观看 | 精品综合网| 中国浓毛少妇毛茸茸 | 动漫av网 | 国产老妇伦国产熟女老妇视频 | 玖玖精品在线视频 | 亚州久久久| 插插网站| 日韩av手机在线播放 | 中文字幕在线一区 | 成人女同av免费观看 | www.国产在线观看 | 91不卡视频 | sao虎视频在线精品永久 | 少妇高潮一69aⅹ | 欧美成人激情视频 | av日韩一区二区三区 | 久久久久免费精品视频 | 手机看片亚洲 | 午夜小视频在线播放 | 插插插色综合 | 秘密基地免费观看完整版中文 | 自拍av在线| 亚洲第一字幕 | 久久婷婷五月国产色综合激情 | 九九九国产 | www.chengren| 男人av资源网 | 国产在线视频一区二区 | 农村少妇无套内谢粗又长 | 夜色视频在线观看 | 精品少妇一区二区三区免费观看 | 69久久精品无码一区二区 | av噜噜在线 | 男人撒尿视频xvideos | 免费一区二区视频 | 伊人免费视频二 | 午夜国产免费 | 色图视频 | 少妇性bbb搡bbb爽爽爽欧美 | 国产又粗又猛视频免费 | 明日花绮罗高潮无打码 | h片在线观看免费 | 美女18毛片 | 一本大道熟女人妻中文字幕在线 | 激情五月深爱五月 | 色呦呦在线免费观看 | 手机看片福利在线 | 欧美婷婷六月丁香综合色 | 国产综合自拍 | 午夜精品在线视频 | 国产亚洲AV无码成人网站在线 | 欧美美女一区二区 | 禁漫天堂免费网站 | 欧美一区二区日韩一区二区 | 男女男网站| 免费无码又爽又黄又刺激网站 | 国产一区二区激情 | 校园春色综合 | 日本xxxxwww| 亚洲熟妇中文字幕五十中出 | 97香蕉超级碰碰久久免费软件 | 99精品久久99久久久久 | 视频二区中文字幕 | 成年人小视频在线观看 | 艳妇臀荡乳欲伦交换gif | 中文在线a√在线 | 日韩一级av毛片 | 久久成人一区 | 日日夜夜免费精品 | 1024福利| 成人无遮挡 | 国产精品日日摸夜夜爽 | 欧美精品自拍 | 欧美中文字幕 | 91不卡视频 | jlzzzjlzzz国产免费观看 | 校园春色亚洲激情 | 日韩中文字幕有码 | 114国产精品久久免费观看 | 久色视频在线观看 | 国产又粗又猛又爽又黄91精品 | 骚黄网站| www.色妞 | 成都电影免费大全 | 蜜桃av网| 亚洲欧洲国产日韩 | 国产精品久久综合 | 肉体粗喘娇吟国产91 | 大陆熟妇丰满多毛xxxⅹ | 欧美a视频在线观看 | 欧美久久久久久久久久久久久久 | 日本国产在线 | 成人国产毛片 | 91丝袜呻吟高潮美腿白嫩在线观看 |