關於 PHP 中比較array_diff與array_intersect比較差集合交際的問題

來源:互聯網
上載者:User
請問當定義如下內容的時候

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"green","g"=>"blue");$result=array_diff($a1,$a2);print_r($result);

返回的差集為 Array ( [d] => yellow )
但是如果將他們顛倒$a2 放在前面為什麼就找不到差集的呢

$result=array_diff($a2,$a1);

回複內容:

請問當定義如下內容的時候

$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");$a2=array("e"=>"red","f"=>"green","g"=>"blue");$result=array_diff($a1,$a2);print_r($result);

返回的差集為 Array ( [d] => yellow )
但是如果將他們顛倒$a2 放在前面為什麼就找不到差集的呢

$result=array_diff($a2,$a1);

差集是有先後順序的,就像4 - 3並不等於3 - 4一樣。這個例子並不太合理,所以你會覺得找不到差集,其實$a2$a1的差集是空,所以看上去像沒有差集。你可以讓$b = array("e"=>"red","f"=>"green","g"=>"blue","h"=>"gray");,這樣你馬上就能明白差集是什麼了。

array array_diff ( array $array1 , array $array2 )
對比返回在 array1 中但是不在 array2 及任何其它參數數組中的值。
顛倒之後,當然是沒有了

仔細看手冊

http://www.w3school.com.cn/php/func_array_diff.asp

謝謝邀請。樓上幾位的參考足夠你用了。array_diff

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.