PHP 陣列去重後保持鍵值對應的方法有:使用 array_unique() 函數去除重複值,再用 array_flip() 函數交換鍵值對。將原始數組與去重後的數組合並,使用數值組合並的方法來保留鍵值對應。
PHP 陣列去重後保持鍵值對應
引言
在處理PHP 陣列時,有時我們需要移除重複的元素,同時保持它們的鍵值對應關係。本教學將介紹如何使用 array_unique()
函數並結合其他方法來實現這一目標。
array_unique() 函數
array_unique()
函數可用於從陣列中刪除重複值。預設情況下,它會對數組中的值進行比較,並保留第一個出現的值的鍵值對應。
程式碼範例
$array = ['foo', 'bar', 'baz', 'foo', 'xyz']; $uniqueArray = array_unique($array); print_r($uniqueArray);
#輸出:
Array ( [0] => foo [1] => bar [2] => baz [4] => xyz )
保持鍵值對應
為了保持陣列中元素的鍵值對應,我們需要使用額外的步驟。一種方法是使用 array_flip()
函數,它可以交換鍵值對的鍵和值。
程式碼範例
$flippedArray = array_flip($uniqueArray); print_r($flippedArray);
#輸出:
Array ( [foo] => 0 [bar] => 1 [baz] => 2 [xyz] => 4 )
現在,我們有了保持鍵值對應的不重複陣列。
使用合併
另一種保持鍵值對應的方法是使用數值組合並。此方法使用原始數組和去重後的數組建立一個新的關聯數組。
程式碼範例
$newArray = array_merge($array, $uniqueArray); print_r($newArray);
輸出:
Array ( [0] => foo [3] => foo [1] => bar [4] => baz [2] => xyz )
此方法不會過濾重複值,但它保留了原始陣列的鍵值對應。
以上是PHP 陣列去重後如何保持鍵值對應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!