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 )
一列由兩個數組成的陣列1,11,
1 把這一陣列分為若干欄,n欄到 n,n 結束 因為 1 13 13 2 91,也就是到第13欄結束是91組數,還有9組數,應是第14欄的第9組數,因此第14欄的第9組數是 9,14 和為9 14 23 2 因為 1 10 10 2 55,因此前55組數應從 1,1 開始到 10,10 結束,因此有...
linushell怎樣比較兩個陣列的內容並且把不同
你這程式沒問題啊,執行不成功嗎?linux 寫乙個shell指令碼,實現功能比較a和b兩個檔案的差異,以b檔案為主,把差異的部分同步到b檔案 有個比較簡陋的命令可以完成 diff a b grep b 缺點是會把 這個符號帶入b linux shell中關於兩個檔案的部分內容替換的問題,詳情如下 這...
excel中如何比較兩個數的大小。
計算差即可。1 新建excel 2 在單元格a1中輸入 power 3,6 在單元格a2中輸入 power 5,4 3 在單元格a3中輸入 a1 a2 後回車,從輸出的a1 a2的值即可得到兩個資料的大小關係。if a1 b1,一致 if abs a1 b1 差大於 差小於等於 假如兩個數分別在a1...