您好,登錄后才能下訂單哦!
如何使用php去掉數(shù)組重復(fù)的值?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
php去掉數(shù)組重復(fù)值的方法:1、用第一個(gè)數(shù)組的每個(gè)值和第二個(gè)數(shù)組比較,如果相同就刪除;2、使用【array_unique()】函數(shù)可以移除數(shù)組中的重復(fù)的值,并返回結(jié)果數(shù)組;3、使用【array_flip()】反轉(zhuǎn)數(shù)組鍵和值的函數(shù)。
php去掉數(shù)組重復(fù)值的方法:
第一、用數(shù)組循環(huán)比較
$arr = array(1,2,4,2,0,9,8,5);//定義一個(gè)數(shù)組。 $arr1 = $arr; //定義另一個(gè)數(shù)組和上一個(gè)數(shù)組一樣。 //循環(huán)第一個(gè)數(shù)組讓后循環(huán)第二個(gè)數(shù)組,用第一個(gè)數(shù)組的每個(gè)值和第二個(gè)數(shù)組比較,如果相同就刪除,最后輸出第二個(gè)數(shù)組就行了。 for($i = 0;$i<count($arr);$i++){ for($j=$i+1;$j<count($arr);$j++){ if($arr[$i] == $arr[$j]) unset($arr1[$i]); } } echo'<pre>'; print_r($arr1);
第二、如果允許使用array_uniqe()
函數(shù)的話,直接array_uniqe
(直接寫數(shù)組名就ok)。
在PHP中可以使用內(nèi)置函數(shù)array_unique()來直接刪除重復(fù)元素,也可以使用array_flip()函數(shù)來間接刪除重復(fù)元素。
1.array_unique()
函數(shù)
array_unique()函數(shù)可以移除數(shù)組中的重復(fù)的值,并返回結(jié)果數(shù)組;當(dāng)幾個(gè)數(shù)組元素的值相等時(shí),只保留第一個(gè)元素,其他的元素被刪除。
代碼示例:
<?php$result1 = array("a" => "green", "red", "b" => "green", "blue", "red");var_dump($result1);$result2 = array_unique($result1);var_dump($result2);?>
2.array_flip()
函數(shù)
array_flip()是反轉(zhuǎn)數(shù)組鍵和值的函數(shù),它有個(gè)特性就是如果數(shù)組中有二個(gè)值是一樣的,那么反轉(zhuǎn)后會(huì)保留最后一個(gè)鍵和值,利用這個(gè)特性我們用他來間接的實(shí)現(xiàn)數(shù)組的去重。
代碼示例:
<?phpheader("content-type:text/html; charset=utf-8");$a = array(1, 5, 2, 5, 1, 3, 2, 4, 5);// 輸出原始數(shù)組echo "原始數(shù)組 :";var_dump($a);// 。 通過使用翻轉(zhuǎn)鍵和值移除重復(fù)值$a = array_flip($a); // 通過再次翻轉(zhuǎn)鍵和值來恢復(fù)數(shù)組元素$a = array_flip($a);// 重新排序數(shù)組鍵$a = array_values($a);// 輸出更新后的數(shù)組echo "更新數(shù)組 :";var_dump($a);?>
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。