Heim >Backend-Entwicklung >PHP-Tutorial >Wie finde ich Array-Unterschiede basierend auf bestimmten verschachtelten Spaltenwerten?

Wie finde ich Array-Unterschiede basierend auf bestimmten verschachtelten Spaltenwerten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 18:25:131049Durchsuche

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

Array-Unterschiede basierend auf bestimmten Spaltenwerten finden

In dieser Situation möchten Sie Arrays basierend auf einem verschachtelten Wert innerhalb jedes Elements vergleichen , reicht die Standardfunktion array_diff() möglicherweise nicht aus. Um dies zu erreichen, können Sie eine benutzerdefinierte Vergleichsfunktion in Verbindung mit array_udiff() nutzen.

Implementieren der Lösung

  1. Definieren Sie eine benutzerdefinierte Vergleichsfunktion:
    Erstellen Sie eine benutzerdefinierte Vergleichsfunktion, die sich auf die gewünschten „ITEM“-Werte konzentriert vergleichen.
function udiffCompare($a, $b)
{
    return $a['ITEM'] - $b['ITEM'];
}
  1. Verwenden Sie array_udiff():
    Jetzt können Sie array_udiff() verwenden, um die Arrays zu vergleichen, indem Sie Ihre benutzerdefinierte Vergleichsfunktion als Rückruf verwenden. Dadurch erhalten Sie die Unterschiede, die Sie suchen.
$arrdiff = array_udiff($arr2, $arr1, 'udiffCompare');
print_r($arrdiff);

Erwartete Ausgabe:

Das resultierende Array, $arrdiff, enthält die Elemente aus dem zweiten Array (arr2), das sich vom ersten Array (arr1) basierend auf den ITEM-Werten unterscheidet. In diesem Fall wird Folgendes zurückgegeben:

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

Dieser Ansatz stellt sicher, dass Sie Arrays basierend auf bestimmten Spaltenwerten effektiv vergleichen und filtern können und so die gewünschten Ergebnisse erhalten.

Das obige ist der detaillierte Inhalt vonWie finde ich Array-Unterschiede basierend auf bestimmten verschachtelten Spaltenwerten?. 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