PHP ist eine weit verbreitete Programmiersprache und muss bei der Verarbeitung von Arrays häufig unterschiedliche Werte zwischen zwei Arrays vergleichen. In diesem Artikel werden einige PHP-Methoden vorgestellt, um die unterschiedlichen Werte zweier Arrays herauszufinden.
Methode 1: Verwenden Sie die Funktion array_diff(). Die Funktion array_diff() ist sehr nützlich, wenn Sie verschiedene Werte zwischen zwei Arrays vergleichen. Sie wird wie folgt verwendet:
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "date"); $array2 = array("a" => "apple", "b" => "banana", "g" => "grape"); $result = array_diff($array1, $array2); print_r($result); ?>
Array ( [c] => cherry [d] => date )
Wenn die Array-Elemente, die wir vergleichen müssen, nicht nur einfache Werte sind, sondern auch erweiterte Vergleiche erfordern, müssen wir die Funktion array_udiff() verwenden. Dies ermöglicht uns die Verwendung einer benutzerdefinierten Rückruffunktion zum Vergleich. Die Verwendung ist wie folgt:
<?php function compare($x, $y) { if ($x === $y) { return 0; } return ($x > $y) ? 1 : -1; } $array1 = array("apple", "banana", "cherry", "date"); $array2 = array("apple", "banana", "grape"); $result = array_udiff($array1, $array2, "compare"); print_r($result); ?>
Array ( [2] => cherry [3] => date )
Wenn wir nur die Schlüssel zweier Arrays vergleichen müssen, nicht die Werte, können wir die Funktion array_diff_key() verwenden. Es werden Werte mit nicht übereinstimmenden Schlüsseln in beiden Arrays zurückgegeben. Die Verwendung ist wie folgt:
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("a" => "apple", "b" => "banana", "d" => "date"); $result = array_diff_key($array1, $array2); print_r($result); ?>
Array ( [c] => cherry )
Wenn wir verschiedene Werte zweier mehrdimensionaler Arrays vergleichen müssen, müssen wir die Funktion array_udiff_assoc() verwenden die Funktion array_udiff(), mit der Ausnahme, dass sie den Vergleich mehrdimensionaler Arrays unterstützt. Die Verwendung ist wie folgt:
<?php function compare($x, $y) { if ($x === $y) { return 0; } return ($x > $y) ? 1 : -1; } $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("a" => "apple", "b" => "banana", "d" => "date"); $result = array_udiff_assoc($array1, $array2, "compare"); print_r($result); ?>
Array ( [c] => cherry )
Das obige ist der detaillierte Inhalt vonSo finden Sie in PHP unterschiedliche Werte in zwei Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!