本篇文章為大家展示了如何去除php重復(fù)數(shù)據(jù),代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
惠城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,惠城網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為惠城上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的惠城做網(wǎng)站的公司定做!php去除重復(fù)數(shù)據(jù)的方法:1.利用“array_unique”函數(shù)直接將一個數(shù)組中的重復(fù)的值去除;2、利用“array_flip”函數(shù)和“array_keys”函數(shù)一起實現(xiàn)去除重復(fù)數(shù)據(jù)。
兩種PHP中去除數(shù)組中重復(fù)數(shù)據(jù)的方法
1.直接利用array_unique函數(shù)
利用array_unique函數(shù)可以直接將一個數(shù)組中的重復(fù)的值去除,只保留重復(fù)值中的第一次出現(xiàn)的值和其對應(yīng)的鍵值
具體的說明可以查看PHP手冊
例1:
$input = array("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique($input); print_r($result); 此時輸出: Array ( [a] => green [0] => red [1] => blue )
注意:在array_unique函數(shù)中,若出現(xiàn) int(3) 和 string(1) '3' 時,函數(shù)會將這兩個值認成同一個值,也只會保留先出現(xiàn)那個值
例2:
$input = array(4, "4", "3", 4, 3, "3"); $result = array_unique($input); var_dump($result);
此時會輸出:
array(2) { [0] => int(4) [2] => string(1) "3" }
2.利用array_flip函數(shù)和array_keys函數(shù)一起作用
在利用array_unique函數(shù)是非常的方便,但是有一點,array_unique函數(shù)不會改變保留下來的值得原先的鍵值,這對于在某些情況下對于新數(shù)組的操作帶來了困難,此時就可以利用array_flip函數(shù)和array_keys函數(shù)
array_flip函數(shù)
將指定數(shù)組的值和鍵值對調(diào),將鍵名變成了值,而原先數(shù)組中的值成了鍵名,并且如果同一個值出現(xiàn)了多次,則最后一個鍵名將作為它的值,所有其它的都丟失了。
例如:
$trans = array("a" => 1, "b" => 1, "c" => 2); $trans = array_flip($trans); print_r($trans);
此時輸出:
Array ( [1] => b [2] => c )
array_keys函數(shù)
array_keys函數(shù),可以返回數(shù)組中部分的或所有的鍵名,這個比較好理解,如果指定了serch_value則是返回指定查詢值的鍵值
例如:
$array = array(0 => 100, "color" => "red"); print_r(array_keys($array)); $array = array("blue", "red", "green", "blue", "blue"); print_r(array_keys($array, "blue")); $array = array("color" => array("blue", "red", "green"), "size" => array("small", "medium", "large")); print_r(array_keys($array));
此時會輸出:
Array ( [0] => 0 [1] => color ) Array ( [0] => 0 [1] => 3 [2] => 4 ) Array ( [0] => color [1] => size )
介紹完兩個函數(shù)的使用后,在遇到一個數(shù)據(jù)重復(fù)很多的數(shù)組時,想剔除中間重復(fù)的數(shù)據(jù)而又想鍵值從 ‘0’ 開始計數(shù)時,可以先對函數(shù)使用array_flip函數(shù),然后在對新的數(shù)組使用array_keys函數(shù),即可實現(xiàn)
補充:在編輯介紹array_keys函數(shù)的時候突然想到應(yīng)該有個函數(shù)可以取出所有的數(shù)組的value的,查了一下果然有array_value函數(shù),這個函數(shù)可以返回一個數(shù)組的所有的值并記錄進新的數(shù)組,這樣也可以實現(xiàn)鍵值從 ‘0’ 開始計數(shù),所以想實現(xiàn)本篇文章的目的也可以先使用array_unique函數(shù),接著對其使用array_value函數(shù)。
上述內(nèi)容就是如何去除php重復(fù)數(shù)據(jù),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。