本文目錄一覽:
- 1、php如何去除數組中相同的元素
- 2、如何正確實現PHP刪除數組重複元素
- 3、php數組去除重複的值
- 4、php 如何去除多維數組指定重複出現的值
- 5、php如何刪除兩個數組中相同的元素
- 6、php如何去掉二維數組中重複的元素?
php如何去除數組中相同的元素
?php
$a=array(“第一”=12,”第二”=23,34,45);
$b=array(“第一”=11,”第二”=22,33,45);
foreach ($a as $key=$v1) {
echo $key.”=”. $v1.”br /”;
foreach($b as $key2=$v2){
if($v1==$v2){
unset($a[$key]);//刪除$a數組同值元素
unset($b[$key2]);//刪除$b數組同值元素
}
}
}
print_r($a);
print_r($b);
?
如何正確實現PHP刪除數組重複元素
array_unique
(PHP 4 = 4.0.1, PHP 5, PHP 7)
array_unique — 移除數組中重複的值
說明
array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
array_unique() 接受 array 作為輸入並返回沒有重複值的新數組。
注意鍵名保留不變。array_unique() 先將值作為字元串排序,然後對每個值只保留第一個遇到的鍵名,接著忽略所有後面的鍵名。這並不意味著在未排序的 array 中同一個值的第一個出現的鍵名會被保留。
Note: 當且僅當 (string) $elem1 === (string) $elem2 時兩個單元被認為相同。就是說,當字元串的表達一樣時。 第一個單元將被保留。
參數
array
輸入的數組。
sort_flags
The optional second parameter sort_flags may be used to modify the sorting behavior using these values:
Sorting type flags:
SORT_REGULAR – compare items normally (don’t change types)
SORT_NUMERIC – compare items numerically
SORT_STRING – compare items as strings
SORT_LOCALE_STRING – compare items as strings, based on the current locale.
返回值
Returns the filtered array.
更新日誌
版本
說明
5.2.10 Changed the default value of sort_flags back to SORT_STRING.
5.2.9 Added the optional sort_flags defaulting to SORT_REGULAR. Prior to 5.2.9, this function used to sort the array with SORT_STRING internally.
範例
Example #1 array_unique() 例子
?php
$input = array(“a” = “green”, “red”, “b” = “green”, “blue”, “red”);
$result = array_unique($input);
print_r($result);
?
以上常式會輸出:
Array
(
[a] = green
[0] = red
[1] = blue
)
Example #2 array_unique() 和類型
?php
$input = array(4, “4”, “3”, 4, 3, “3”);
$result = array_unique($input);
var_dump($result);
?
以上常式會輸出:
array(2) {
[0] = int(4)
[2] = string(1) “3”
}
參見
array_count_values() – 統計數組中所有的值出現的次數
注釋
Note: Note that array_unique() is not intended to work on multi dimensional arrays.
php數組去除重複的值
?php
$array = array(
array(
‘id’ = 19,
‘title’ = ‘總統套房’
),
array(
‘id’ = 20,
‘title’ = ‘豪華套房’
),
array(
‘id’ = 21,
‘title’ = ‘豪華套房’
),
array(
‘id’ = 22,
‘title’ = ‘總統套房’
),
);
foreach ($array as $key = $value) {
foreach ($value as $k = $v) {
if ($k == ‘title’) {
$new_arr[] = $v;
}
}
}
$arr = array_unique($new_arr);
echo implode(‘,’, $arr);
?
望採納 Thx
php 如何去除多維數組指定重複出現的值
array_unique
()
函數用於移除數組中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
注意:被保留的數組將保持第一個數組項的鍵名類型
php如何刪除兩個數組中相同的元素
首先,我看到這個問題中描述是「如何刪除兩個數組中相同的元素」,雖然那個人寫了一大堆,竟然用的是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);
究竟是哪一種情況,這需要看提問者的需求了。
php如何去掉二維數組中重複的元素?
PHP數組去除重複項有個內置函數array_unique(),但是php的array_unique函數只適用於一維數組,對多維數組並不適用,不過你可以在二維數組中的值,用array_unique()即可。
比如:
$array = array(array(1,1,2),array(2,3,4,3));
$temp_array = array();
foreach($array as $key=$value){
$temp_array[$key] = array_unique($value);
}
$array = $temp_array;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242474.html