本文目錄一覽:
php 刪除數組重複的值
$arr = array(1,2,4,2,0,9,8,5);//定義一個數組。
$arr1 = $arr; //定義另一個數組和上一個數組一樣。
//循環第一個數組讓後循環第二個數組 用第一個數組的每個值和第二個數組比較如果相同就刪除,最後輸出第二個數組就行了。
for($i = 0;$icount($arr);$i++){
for($j=$i+1;$jcount($arr);$j++){
if($arr[$i] == $arr[$j])
unset($arr1[$i]);
}
}
echo’pre’;
print_r($arr1);
第二 如果允許使用array_uniqe()函數的話,直接array_uniqe(直接寫數組名就ok)。
在PHP中可以使用內置函數array_unique()來直接刪除重複元素,也可以使用array_flip()函數來間接刪除重複元素。
1.array_unique()函數
array_unique()函數可以移除數組中的重複的值,並返回結果數組;當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除。
代碼示例:
?php$result1 = array(“a” = “green”, “red”, “b” = “green”, “blue”,
“red”);var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?
2.array_flip()函數
array_flip()是反轉數組鍵和值的函數,它有個特性就是如果數組中有二個值是一樣的,那麼反轉後會保留最後一個鍵和值,利用這個特性我們用他來間接的實現數組的去重。
代碼示例:
?phpheader(“content-type:text/html;
charset=utf-8″);$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 輸出原始數組echo “原始數組
:”;var_dump($a);// 。
通過使用翻轉鍵和值移除重複值$a = array_flip($a);
// 通過再次翻轉鍵和值來恢複數組元素$a = array_flip($a);// 重新排序數組鍵$a = array_values($a);// 輸出更新後的數組echo “更新數組 :”;var_dump($a);?
擴展資料:
在 PHP 中創建數組:
在 PHP 中, array() 函數用於創建數組:
array();
在 PHP 中,有三種數組類型:
索引數組 – 帶有數字索引的數組。
關聯數組 – 帶有指定鍵的數組。
多維數組 – 包含一個或多個數組的數組。
1、PHP 索引數組
有兩種創建索引數組的方法:
索引是自動分配的(索引從 0 開始):
$cars=array(“porsche”,”BMW”,”Volvo”);
或者也可以手動分配索引:
$cars[0]=”porsche”;
2、遍歷索引數組:
如需遍歷並輸出索引數組的所有值,可以使用 for 循環,就像這樣:
實例:
?php
$cars=array(“porsche”,”BMW”,”Volvo”);
$arrlength=count($cars);
for($x=0;$x$arrlength;$x++) {
echo $cars[$x];
echo “br”;
}
?
3、多維數組:
將在 PHP 高級教程出現多維數組。
參考資料來源:百度百科-PHP
php 如何去除多維數組指定重複出現的值
array_unique
()
函數用於移除數組中重複的值。如果兩個或更多個數組值相同,只保留第一個值,其他的值被移除。
注意:被保留的數組將保持第一個數組項的鍵名類型
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怎麼刪除數據庫中重複的數據,只剩一個
可以寫個方法,查詢所有數據,然後遍曆數組,查詢的時候分組查詢(按照某一字段即可),如果該組數據量1,則刪除,只保留一條即可。SQL語句會寫就可以
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);
究竟是哪一種情況,這需要看提問者的需求了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/272479.html