Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP?

Wie entferne ich Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP?

WBOY
WBOYOriginal
2024-04-28 18:18:01736Durchsuche

Verwenden Sie in PHP die Funktion array_unique(), um Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren zu entfernen. Übergeben Sie beim Aufruf der Funktion das Array als Parameter und wählen Sie als zweiten Parameter die Sortiermethode aus. Diese Funktion gibt ein neues Array zurück, in dem Duplikate basierend auf den angegebenen Schlüssel-Wert-Paaren entfernt wurden.

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

So entfernen Sie Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP

Verwenden Sie in PHP die Funktion array_unique(), um Duplikate basierend auf bestimmten Schlüssel-Wert-Paaren aus einem Array zu entfernen Schlüssel-Wert-Paare Duplikate. Diese Funktion empfängt ein Array als Argument und gibt ein neues Array zurück, in dem Duplikate basierend auf den angegebenen Schlüssel-Wert-Paaren entfernt wurden. 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

🎜Verwendung: 🎜🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜Wie oben gezeigt, basiert array_unique() auf dem Schlüssel-Wert-Paar ['name', 'age'] Duplikate aus dem Array entfernt. 🎜🎜🎜Optionale Parameter: 🎜🎜🎜array_unique() Der zweite Parameter der Funktion gibt an, wie Array-Elemente verglichen werden. Es gibt die folgenden Optionen: 🎜
  • 🎜SORT_REGULAR: 🎜 Normal Vergleich von Elementen
  • 🎜SORT_NUMERIC: 🎜 Vergleiche Elemente als Zahlen
  • 🎜SORT_STRING: 🎜 Vergleiche Elemente als Zeichenfolgen
  • 🎜SORT_LOCALE_STRING: 🎜 Vergleiche Elemente als Zeichen in a spezifischer Gebietsschema-String
🎜🎜Praktisches Beispiel: 🎜🎜🎜Angenommen, Sie haben das folgende Array, das Einzelposten aus verschiedenen Bestellungen enthält: 🎜rrreee🎜 Sie können den folgenden Code verwenden, um die Reihenfolge basierend auf zu sortieren Bestellartikel-ID (item_id) und Menge (<code>quantity), um Duplikate zu entfernen: 🎜rrreee🎜Dadurch wird ein neues Array $uniqueOrders mit dem item_id als auch quantity sind eindeutig. 🎜

Das obige ist der detaillierte Inhalt vonWie entferne ich Duplikate aus einem Array basierend auf bestimmten Schlüssel-Wert-Paaren in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn