Der PHP-Editor Xigua liefert Ihnen eine detaillierte Analyse, wie PHP die Differenz in Arrays berechnet. In der tatsächlichen Entwicklung ist der Vergleich der Unterschiede zwischen zwei Arrays eine häufige Anforderung, die uns dabei helfen kann, neu hinzugefügte, gelöschte und geänderte Elemente herauszufinden. Wir können diese Funktion einfach über die in PHP integrierten Funktionen und einige einfache Logik implementieren. Lassen Sie uns als Nächstes untersuchen, wie Sie mit PHP die Differenz von Arrays berechnen können, um Ihre Entwicklungsarbeit effizienter und bequemer zu gestalten.
PHP-Leitfaden zur Berechnung von Array-Differenzen
Bei der Berechnung von Array-Unterschieden werden die Unterschiede von Elementen in zwei oder mehr Arrays verglichen und gegenübergestellt. php bietet je nach gewünschtem Ergebnis und Struktur des Arrays mehrere Möglichkeiten, diese Aufgabe zu erfüllen.
array_diff()-Funktion
array_diff()
Die Funktion wird verwendet, um Elemente zu finden, die im ersten Array vorhanden sind, aber nicht in allen anderen Arrays. Die Syntax lautet wie folgt:
array_diff($array1, $array2, ..., $arrayN);
Zum Beispiel:
$array1 = ["apple", "banana", "cherry"]; $array2 = ["banana", "orange"]; $diff = array_diff($array1, $array2); // ["apple", "cherry"]
array_diff_assoc()-Funktion
Die Funktionarray_diff_assoc()
ähnelt array_diff_assoc()
函数类似于 array_diff()
, vergleicht aber auch Array-Schlüssel. Es gibt Elemente mit demselben Schlüssel und Wert zurück. Die Syntax lautet wie folgt:
array_diff_assoc($array1, $array2, ..., $arrayN);
Zum Beispiel:
$array1 = ["apple" => 1, "banana" => 2, "cherry" => 3]; $array2 = ["banana" => 2, "orange" => 4]; $diff = array_diff_assoc($array1, $array2); // ["apple" => 1, "cherry" => 3]
Array_diff_key()-Funktion
array_diff_key()
Funktion wird verwendet, um Elemente mit unterschiedlichen Schlüsseln in zwei Arrays zu finden. Die Syntax lautet wie folgt:
array_diff_key($array1, $array2, ..., $arrayN);
Zum Beispiel:
$array1 = ["apple" => 1, "banana" => 2]; $array2 = ["banana" => 2, "orange" => 4]; $diff = array_diff_key($array1, $array2); // ["apple" => 1]
array_udiff()- und array_uintersect()-Funktionen
array_udiff()
和 array_uintersect()
函数用于使用用户自定义比较函数比较两个数组中的元素。array_udiff()
返回第一个数组中存在且在其他所有数组中不存在的元素,而 array_uintersect()
Gibt Elemente zurück, die in beiden Arrays vorhanden sind. Ihre Syntax ist wie folgt:
array_udiff($array1, $array2, ..., $arrayN, $compareFunction); array_uintersect($array1, $array2, ..., $arrayN, $compareFunction);
Benutzerdefinierte Vergleichsfunktionen müssen zwei Parameter (Array-Elemente) annehmen und eine Ganzzahl zurückgeben:
Zum Beispiel sortiert die folgende benutzerdefinierte Vergleichsfunktion eine Reihe von Früchten nach Namen:
function compareFruits($a, $b) { return strcmp($a["name"], $b["name"]); }
Berechnen Sie die Differenz mithilfe einer benutzerdefinierten Vergleichsfunktion:
$array1 = [ ["name" => "apple", "price" => 1], ["name" => "banana", "price" => 2], ["name" => "cherry", "price" => 3], ]; $array2 = [ ["name" => "banana", "price" => 2], ["name" => "orange", "price" => 4], ]; $diff = array_udiff($array1, $array2, "compareFruits"); // [["name" => "apple", "price" => 1], ["name" => "cherry", "price" => 3]]
Im obigen Beispiel ist compareFruits
函数按名称对数组元素进行排序,因此结果包含 array1
中存在且在 array2
eine Frucht, die es nicht gibt.
Das obige ist der detaillierte Inhalt vonSo berechnen Sie die Array-Differenz in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!