php如何刪除兩個陣列中相同的元素

時間 2021-09-04 02:31:21

1樓:匿名使用者

$a=[1,2,3];

$b=[2,3,4];

$c=array_diff($a,$b);//[1]$d=array_merge(array_diff($a,$b),array_diff($b,$a));//[1,4]

var_dump($c,$d);

2樓:一騎當後

如何去除陣列中相同的元素?在php手冊中有這樣寫

array_unique(php 4 >= 4.0.1)

array_unique -- 移除陣列中重複的值

說明array array_unique ( array array)

array_unique() 接受 array 作為輸入並返回沒有重複值的新陣列。

注意鍵名保留不變。array_unique() 先將值作為字串排序,然後對每個值只保留第一個遇到的鍵名,接著忽略所有後面的鍵名。這並不意味著在未排序的 array 中同一個值的第一個出現的鍵名會被保留。

注: 當且僅當 (string) $elem1 === (string) $elem2 時兩個單元被認為相同。就是說,當字串的表達一樣時。

第一個單元將被保留。

例子 1. array_unique() 例子

<?php

$input = array ("a" => "green", "red", "b" => "green", "blue", "red");

$result = array_unique ($input);

print_r($result);

?>

3樓:ms中文網

首先,我看到這個問題中描述是“如何刪除兩個陣列中相同的元素”,雖然那個人寫了一大堆,竟然用的是array_unique(),從分析到給出的demo一直在解決如何刪除“一個”陣列中“重複”的元素。汗!答非所問的答案竟然會被採納。

這裡,簡單分析一下提問者的真實意圖,分以下2種情況:

1.現在有2個一維陣列, $arr1和$arr2,現在要刪除 $arr1 中存在於 $arr2 的元素。

解決方案:使用array_diff對比返回在 array1 中但是不在 array2 及任何其它引數陣列中的值,**如下:

<?php

$arr1 = array(1, 2, 3, 4);

$arr2 = array(2, 4);

//這一句即可

$arr1 = array_diff($arr1,$arr2);

var_dump($arr1);

2.先宣告一下,我看了lt318025大神給出的答案,他的思維非常活躍,已經分了2種情況。

現在有2個一維陣列,$a和$b,即刪除$a中存在於$b的元素,刪除$b中$a存在的元素,組後合併返回。

可是lt318025大神用的php版本太高,給出的demo在低版本php下執行失敗,這裡修正一下:

<?php

$a=array(1,2,3);

$b=array(2,3,4);

//得到存在於$a但不存在於$b中的元素組成的陣列

$c=array_diff($a,$b);

//這裡簡單求出在$a但不在$b中的元素

var_dump($c);

//得到存在於$a但不存在於$b中的元素組成的陣列與存在於$b但不存在於$a中的元素組成的陣列的並集

$d=array_merge(array_diff($a,$b),array_diff($b,$a));

//這裡徹底剔除了同時存在於$a和$b中的元素

var_dump($d);

究竟是哪一種情況,這需要看提問者的需求了。

4樓:清風之無痕歲月

<?php

$a=array("第一"=>12,"第二"=>23,34,45);

$b=array("第一"=>11,"第二"=>22,33,45);

foreach ($a as $key=>$v1) }}print_r($a);

print_r($b);

?>

php如何統計一個陣列中相同元素的個數

5樓:走近植物世界

簡單的迴圈即可,選出重複(出現次數大於等於2)的元素並統計每個重複元素出現的次數:

php中的 array_count_values() 函式可以實現

array_count_values() 函式用於統計陣列中所有值出現的次數。

本函式返回一個陣列,其元素的鍵名是原陣列的值,鍵值是該值在原陣列中出現的次數。

array_count_values(array)

例如:<?php

$a=array("cat","dog","horse","dog");

print_r(array_count_values($a));

輸出:array ( [cat] => 1 [dog] => 2 [horse] => 1 )

擴充套件資料:

php統計陣列元素個數

count():對陣列中的元素個數進行統計;

sizeof():和count()具有同樣的用途,這兩個函式都可以返回陣列元素個數,得到一個常規標量變數中的元素個數。

如果傳遞給這個函式的陣列是一個空陣列,或者是一個沒有經過設定的變數,返回的陣列元素個數就是0;

array_count_value():統計每個特定的值在陣列$array中出現過的次數;

如:$array=array(4,5,1,2,3,1,2,1);

$ac=array_count_value($array);

將建立一個名為$ac陣列,該陣列包括:

關鍵字       值

4          1

5          1

1          3

2          2

3          1

6樓:睡著的糖葫蘆

迴圈 要統計的陣列$a, 把要統計的值 放入另一個陣列中$b, 判斷如果$b中 有這個值,就加1.

7樓:宇宙大師之一

php 中的 array_count_values() 函式可以實現

array_count_values() 函式用於統計陣列中所有值出現的次數。

本函式返回一個陣列,其元素的鍵名是原陣列的值,鍵值是該值在原陣列中出現的次數。

array_count_values(array)

例如:<?php

$a=array("cat","dog","horse","dog");

print_r(array_count_values($a));

?>

輸出:array ( [cat] => 1 [dog] => 2 [horse] => 1 )

php如何統計陣列中相同元素的個數

走近植物世界 簡單的迴圈即可,選出重複 出現次數大於等於2 的元素並統計每個重複元素出現的次數 php中的 array count values 函式可以實現 array count values 函式用於統計陣列中所有值出現的次數。本函式返回一個陣列,其元素的鍵名是原陣列的值,鍵值是該值在原陣列中...

PHP如何判斷多個陣列相同鍵值個數

給你個例子,不過沒明白你的需求 arr click array array date 2010 10 01 click 1 array date 2010 10 02 click 2 array date 2010 10 02 click 3 array date 2010 10 03 click ...

c語言,兩個將兩個陣列中的相同元素全部刪去,輸出刪去後的兩個陣列。如1,1,1,2,2,2,0,2,1,

不懂多來問問 include using namespace std 去掉陣列中為a的資料 int main int a2 10 int j 0,i while j l1 else cout l1 去掉陣列中為a的資料 寫好了 include int main printf 請輸入第二個陣列的元素個...