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 請輸入第二個陣列的元素個...