pHp編程快速實(shí)現(xiàn)數(shù)組去重的方法,結(jié)合實(shí)例形式分析

2023-11-27    分類: 網(wǎng)站建設(shè)

本文主要向大家介紹pHp編程中快速實(shí)現(xiàn)數(shù)組去重的方法php函數(shù)實(shí)現(xiàn)數(shù)組去重,并結(jié)合實(shí)例分析pHp數(shù)組去重的功能和使用技巧。有需要的朋友可以參考一下,希望能幫到你。

概述

使用pHp的()函數(shù)可以讓你傳遞一個(gè)數(shù)組,然后去除重復(fù)值并返回一個(gè)具有唯一值的數(shù)組。此功能在大多數(shù)情況下運(yùn)行良好。但是,如果您嘗試在大型數(shù)組中使用 () 函數(shù),它會(huì)運(yùn)行得更慢。

有一個(gè)更好更快的函數(shù) () 而不是使用 () 函數(shù)來(lái)創(chuàng)建唯一的數(shù)組。這個(gè)神奇的函數(shù)交換數(shù)組中每個(gè)元素的鍵值,因?yàn)殒I值必須是唯一的,所以你會(huì)得到和()函數(shù)一樣的結(jié)果。

一種更快實(shí)現(xiàn) pHp 數(shù)組重復(fù)數(shù)據(jù)刪除的方法

/* 創(chuàng)建一個(gè)包含重復(fù)值的,一共四個(gè)元素的數(shù)組 */
$array = array('green','blue','orange','blue');
/* 翻轉(zhuǎn)數(shù)組,你將會(huì)得到唯一鍵值的數(shù)組
array('green'=>0,'blue'=>1,'orange'=>2); */
$array = array_flip($array);
/* 然后再翻轉(zhuǎn)一次,將鍵和值重新放置,然后得到數(shù)組:array(0=>'green',1=>'blue',2=>'orange'); */
$array = array_flip($array);

因?yàn)槲覀円瞥艘恍┰?,?shù)組看起來(lái)不像一個(gè)正常的序列。例如,我們可能會(huì)得到:

array(0=>'A',2=>'b',5=>'C');

在某些情況下,這不是問題php函數(shù)實(shí)現(xiàn)數(shù)組去重,但是如果需要數(shù)組的key值來(lái)維護(hù)數(shù)字的順序,可以使用一兩種方法來(lái)解決key亂序的問題價(jià)值。

使用修復(fù)陣列的鑰匙

添加的函數(shù)會(huì)對(duì)數(shù)組的鍵值進(jìn)行排序,恢復(fù)到正常順序,如:0,1,2,3...

$array = array('green','blue','orange','blue');
$array = array_flip($array);
$array = array_flip($array);
/* 使用array_merge()函數(shù)修復(fù)鍵值*/
$array = array_merge($array);

第二種方式,使用

請(qǐng)注意,這種修復(fù)數(shù)組鍵的方法比使用 () 函數(shù)稍快。也可以結(jié)合上一步的()函數(shù)(該函數(shù)返回翻轉(zhuǎn)后的值)。然后當(dāng)你翻轉(zhuǎn)數(shù)組的值時(shí),鍵值會(huì)按照順序創(chuàng)建。

$array = array('green','blue','orange','blue');
$array = array_flip($array);
/* 跟第一個(gè)例子一樣,但是現(xiàn)在我們先提取數(shù)組的鍵值 */
$array = array_keys($array);

網(wǎng)站名稱:pHp編程快速實(shí)現(xiàn)數(shù)組去重的方法,結(jié)合實(shí)例形式分析
文章源于:http://www.bm7419.com/news33/296983.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、軟件開發(fā)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷微信公眾號(hào)、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)