Maison >développement back-end >tutoriel php >Comment trouver les différences de tableaux en fonction de valeurs de colonnes imbriquées spécifiques ?

Comment trouver les différences de tableaux en fonction de valeurs de colonnes imbriquées spécifiques ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 18:25:131049parcourir

How to Find Array Differences Based on Specific Nested Column Values?

Recherche des différences de tableaux en fonction de valeurs de colonnes spécifiques

Dans cette situation, où vous souhaitez comparer des tableaux en fonction d'une valeur imbriquée dans chaque élément , la fonction standard array_diff() peut ne pas suffire. Pour y parvenir, vous pouvez exploiter une fonction de comparaison personnalisée en conjonction avec array_udiff().

Mise en œuvre de la solution

  1. Définir une fonction de comparaison définie par l'utilisateur :
    Créez une fonction de comparaison personnalisée qui se concentre sur les valeurs « ITEM » que vous souhaitez compare.
function udiffCompare($a, $b)
{
    return $a['ITEM'] - $b['ITEM'];
}
  1. Utilisez array_udiff() :
    Maintenant, vous pouvez utiliser array_udiff() pour comparer les tableaux en utilisant votre fonction de comparaison personnalisée comme rappel. Cela vous donnera les différences que vous recherchez.
$arrdiff = array_udiff($arr2, $arr1, 'udiffCompare');
print_r($arrdiff);

Résultat attendu :

Le tableau résultant, $arrdiff, contiendra les éléments du deuxième tableau (arr2) qui diffère du premier tableau (arr1) en fonction des valeurs ITEM. Dans ce cas, il renverra :

Array
(
    [3] => Array
        (
            [ITEM] => 4
        )
)

Cette approche garantit que vous pouvez comparer et filtrer efficacement les tableaux en fonction de valeurs de colonne spécifiques, vous fournissant ainsi les résultats souhaités.

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!

Déclaration:
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