新聞中心
這篇文章主要介紹“PHP數(shù)組中的重復(fù)元素怎么刪除”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“PHP數(shù)組中的重復(fù)元素怎么刪除”文章能幫助大家解決問題。
成都創(chuàng)新互聯(lián)主營(yíng)海晏網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開發(fā),海晏h5重慶小程序開發(fā)搭建,海晏網(wǎng)站營(yíng)銷推廣歡迎海晏等地區(qū)企業(yè)咨詢
一、使用array_unique()函數(shù)去重
PHP提供了一個(gè)內(nèi)置函數(shù)array_unique(),它的作用是去除數(shù)組中重復(fù)的元素,返回不包含重復(fù)元素的新數(shù)組。該函數(shù)的語(yǔ)法如下:
array array_unique(array $array[, int $sort_flags = SORT_STRING])
其中,$array是需要操作的數(shù)組,$sort_flags是一個(gè)可選參數(shù),指定去重時(shí)的排序方式。如果不傳入該參數(shù),默認(rèn)使用字符串的排序方式。如果想按照數(shù)值大小進(jìn)行排序,則可以傳入常量SORT_NUMERIC。下面是示例代碼:
$old_array = [1, 3, 5, 3, 1, 6, 5]; $new_array = array_unique($old_array); var_dump($new_array);
輸出結(jié)果為:
array(4) { [0]=> int(1) [1]=> int(3) [2]=> int(5) [5]=> int(6) }
可以看到,經(jīng)過去重處理后,重復(fù)的元素被移除,留下了不同的元素。需要注意的是,新數(shù)組的鍵名并不是連續(xù)的,因?yàn)楦鶕?jù)PHP的語(yǔ)法規(guī)定,整數(shù)和字符串是兩種不同的數(shù)據(jù)類型。
二、使用循環(huán)去重
除了內(nèi)置函數(shù)array_unique(),我們還可以使用循環(huán)來(lái)實(shí)現(xiàn)去重的功能。主要思路是遍歷數(shù)組的每個(gè)元素,如果該元素已經(jīng)存在于新數(shù)組中,則不添加;否則,將其加入到新數(shù)組中。下面是示例代碼:
$old_array = [1, 3, 5, 3, 1, 6, 5]; $new_array = []; foreach ($old_array as $value) { if (!in_array($value, $new_array)) { $new_array[] = $value; } } var_dump($new_array);
輸出結(jié)果為:
array(4) { [0]=> int(1) [1]=> int(3) [2]=> int(5) [3]=> int(6) }
可以看到,經(jīng)過循環(huán)處理后,新數(shù)組中的元素與內(nèi)置函數(shù)的輸出結(jié)果相同,去除了重復(fù)的元素,保留了不同的元素。需要注意的是,在循環(huán)內(nèi)部使用in_array()函數(shù)判斷數(shù)組中是否已經(jīng)存在該元素,該函數(shù)的返回值是一個(gè)布爾值。
三、使用array_flip()函數(shù)去重
除了array_unique()和循環(huán),還可以使用array_flip()函數(shù)來(lái)去重處理數(shù)組。該函數(shù)的作用是交換數(shù)組中鍵和值的位置,然后返回一個(gè)新數(shù)組。因?yàn)镻HP中數(shù)組的鍵名必須是唯一的,所以通過使用這個(gè)函數(shù),可以去除數(shù)組中的重復(fù)元素。下面是示例代碼:
$old_array = [1, 3, 5, 3, 1, 6, 5]; $new_array = array_flip($old_array); var_dump(array_keys($new_array));
輸出結(jié)果為:
array(4) { [0]=> int(1) [1]=> int(3) [2]=> int(5) [3]=> int(6) }
可以看到,使用array_flip()函數(shù)去重后,返回了僅包含不同元素的新數(shù)組。但需要注意的是,原來(lái)數(shù)組中的值會(huì)被當(dāng)成新數(shù)組的鍵名,而新數(shù)組的值會(huì)自動(dòng)賦值為1。
關(guān)于“PHP數(shù)組中的重復(fù)元素怎么刪除”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
新聞標(biāo)題:PHP數(shù)組中的重復(fù)元素怎么刪除
網(wǎng)站鏈接:http://fisionsoft.com.cn/article/gchcei.html