首頁  >  文章  >  後端開發  >  如何在 PHP 中根據特定鍵值對移除數組中的重複項?

如何在 PHP 中根據特定鍵值對移除數組中的重複項?

WBOY
WBOY原創
2024-04-28 18:18:01715瀏覽

在 PHP 中,使用 array_unique() 函數,根據特定鍵值對移除陣列重複項。呼叫函數時傳入數組作為參數,選擇排序方式作為第二個參數。此函數傳回一個新數組,其中重複項已根據指定的鍵值對移除。

如何在 PHP 中根据特定键值对去除数组中的重复项?

如何在PHP 中根據特定鍵值對移除數組中的重複項

在PHP 中,使用 array_unique() 函數可以根據特定鍵值對移除陣列中的重複項。此函數接收一個數組作為參數,並傳回一個新數組,其中重複項已根據指定的鍵值對移除。

用法:

$array = [
    ['name' => 'John', 'age' => 30],
    ['name' => 'Mary', 'age' => 25],
    ['name' => 'John', 'age' => 30],
    ['name' => 'Bob', 'age' => 20],
];

$uniqueArray = array_unique($array, SORT_REGULAR);

print_r($uniqueArray);

輸出:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 30
        )

    [1] => Array
        (
            [name] => Mary
            [age] => 25
        )

    [2] => Array
        (
            [name] => Bob
            [age] => 20
        )
)

如上所示,array_unique() 根據鍵值對['name', 'age'] 移除了陣列中的重複項。

可選參數:

array_unique() 函數的第二個參數指定如何比較陣列元素,有以下選項:

  • SORT_REGULAR: 正常比較元素
  • SORT_NUMERIC: 比較元素作為數字
  • ##SORT_STRING: 比較元素作為字串
  • SORT_LOCALE_STRING: 以特定區域設定比較元素作為字串

實戰案例:

#假設你有以下數組,其中包含來自不同訂單的訂單項目:

$orders = [
    ['id' => 1, 'item_id' => 1, 'quantity' => 2],
    ['id' => 2, 'item_id' => 2, 'quantity' => 1],
    ['id' => 3, 'item_id' => 1, 'quantity' => 3],
];

你可以使用以下程式碼根據訂單項目ID (

item_id) 和數量(quantity) 去除重複項:

$uniqueOrders = array_unique($orders, SORT_REGULAR);

這將建立一個新陣列

$uniqueOrders,其中每個訂單項目的item_idquantity 組合都是唯一的。

以上是如何在 PHP 中根據特定鍵值對移除數組中的重複項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn