php 之陣列去重

2021-08-25 17:19:23 字數 1164 閱讀 6258

一、array_unique()函式

使用php的array_unique()函式允許你傳遞乙個陣列,然後移除重複的值,返回乙個擁有唯一值的陣列。這個函式大多數情況下都能工作得很好。但是,如果你嘗試在乙個大的陣列裡使用array_unique()函式,它會執行地慢一些。

二、array_flip()

有乙個比較好而且更快的函式array_flip()來替代使用array_unique()函式來建立唯一的陣列。這個魔法般的函式會交換陣列裡面每乙個元素的鍵和值,因為鍵值必須唯一,因此,你會得到跟array_unique()函式一樣的結果。

更快的方式實現php陣列去重

$array = array_flip(array_flip($array));

/* 使用array_merge()函式修復鍵值*/

$array = array_merge($array);

三、使用array_keys()

注意,這種修復陣列鍵值的方法比使用array_merge()函式稍微快了一點。你也可以在最後一步結合使用array_keys()函式(此函式返回翻轉後的值)。然後當你翻轉陣列的值,鍵值就會根據順序建立。

$array = array_flip($array);

/* 跟第乙個例子一樣,但是現在我們先提取陣列的鍵值 */

$array = array_keys($array);

四、自定義函式

/*** 刪除二維陣列中相同項的資料,(一般用於資料庫查詢結果中相同記錄的去重操作)

** @param array $_2d_array 二維陣列,類似:

*     $tmparr = array(

*         array('id' => 1, 'value' => '15046f5de5bb708e'),

*         array('id' => 1, 'value' => '15046f5de5bb708e'),

*     );

* @param string $unique_key 表示上述陣列的 "id" 鍵,或者 "value" 鍵

** @return mixed

*/function unique_2d_array_by_key($_2d_array, $unique_key) else }}

return $_2d_array;

}

php 陣列去重

一維陣列的重複項 使用array unique函式即可,使用例項如下 bb array unique aa print r bb 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵...

php 陣列去重

一維陣列的重複項 使用array unique函式即可,使用例項如下 bb array unique aa print r bb 二維陣列的重複項 對於二維陣列咱們分兩種情況討論,一種是因為某一鍵名的值不能重複,刪除重複項 另一種因為內部的一維陣列不能完全相同,而刪除重複項,下面舉例說明 因為某一鍵...

php 陣列去重

對陣列元素進行去重,我們一般會使用array unique方法,使用這個方法可以把陣列中的元素去重。arr array 1,1,2,3,3,3,4,4,5,6,6,7,8,8,9,9,9 arr array unique arr arr array values arr print r arr 輸出...