Maison > développement back-end > tutoriel php > Comment supprimer les doublons d'un tableau basé sur des paires clé-valeur spécifiques en PHP ?

Comment supprimer les doublons d'un tableau basé sur des paires clé-valeur spécifiques en PHP ?

WBOY
Libérer: 2024-04-28 18:18:01
original
764 Les gens l'ont consulté

En PHP, utilisez la fonction array_unique() pour supprimer les doublons d'un tableau en fonction de paires clé-valeur spécifiques. Lors de l'appel de la fonction, transmettez le tableau en paramètre et sélectionnez la méthode de tri comme deuxième paramètre. Cette fonction renvoie un nouveau tableau dans lequel les doublons ont été supprimés en fonction des paires clé-valeur spécifiées.

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

Comment supprimer les doublons d'un tableau en fonction de paires clé-valeur spécifiques en PHP

En PHP, utilisez la fonction array_unique() pour supprimer les doublons d'un tableau en fonction de paramètres spécifiques paires clé-valeur Doublons. Cette fonction reçoit un tableau comme argument et renvoie un nouveau tableau dans lequel les doublons ont été supprimés en fonction des paires clé-valeur spécifiées. 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);
Copier après la connexion

输出:

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

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

    [2] => Array
        (
            [name] => Bob
            [age] => 20
        )
)
Copier après la connexion

如上所示,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],
];
Copier après la connexion

你可以使用以下代码根据订单项ID (item_id) 和数量 (quantity) 去除重复项:

$uniqueOrders = array_unique($orders, SORT_REGULAR);
Copier après la connexion

这将创建一个新数组 $uniqueOrders,其中每个订单项的 item_idquantity

🎜Utilisation : 🎜🎜rrreee🎜🎜Sortie : 🎜🎜rrreee🎜Comme indiqué ci-dessus, array_unique() est basé sur la paire clé-valeur ['name', 'age'] Suppression des doublons du tableau. 🎜🎜🎜Paramètres facultatifs : 🎜🎜🎜array_unique() Le deuxième paramètre de la fonction spécifie comment comparer les éléments du tableau. Il existe les options suivantes : 🎜
  • 🎜SORT_REGULAR : 🎜 Normal. comparaison d'éléments
  • 🎜SORT_NUMERIC : 🎜 Comparez les éléments sous forme de nombres
  • 🎜SORT_STRING : 🎜 Comparez les éléments sous forme de chaînes
  • 🎜SORT_LOCALE_STRING : 🎜 Comparez les éléments sous forme de caractères dans un chaîne de paramètres régionaux spécifiques
🎜🎜Exemple pratique : 🎜🎜🎜Supposons que vous ayez le tableau suivant, qui contient des éléments de campagne de différentes commandes : 🎜rrreee🎜 Vous pouvez utiliser le code suivant pour trier la commande en fonction de la ID de l'article de commande (item_id) et quantité (<code>quantité) pour supprimer les doublons : 🎜rrreee🎜Cela créera un nouveau tableau $uniqueOrders avec le item_id et quantité sont uniques. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal