Heim > Backend-Entwicklung > PHP-Problem > So vergleichen Sie zwei Arrays mit unterschiedlichen Werten in PHP

So vergleichen Sie zwei Arrays mit unterschiedlichen Werten in PHP

PHPz
Freigeben: 2023-04-26 14:10:28
Original
855 Leute haben es durchsucht

PHP ist eine sehr beliebte und praktische Programmiersprache, die verschiedene Methoden zum Verarbeiten und Betreiben von Arrays bereitstellt. Während des Entwicklungsprozesses müssen wir häufig die Differenz zwischen zwei Arrays vergleichen und die unterschiedlichen Werte anzeigen. Im Folgenden werde ich einige Implementierungsmethoden vorstellen.

Implementierungsmethode 1: Verwenden Sie die Funktion array_diff().

Die Funktion array_diff() kann die Werte zweier Arrays vergleichen und unterschiedliche Werte zurückgeben.

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "blue", "d" => "yellow");

$result = array_diff($array1, $array2);

print_r($result);
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [b] => green
    [c] => blue
)
Nach dem Login kopieren

Wie aus den obigen Ergebnissen ersichtlich ist, sind die Werte mit den Schlüsseln „b“ und „c“ in $array1 und $array2 unterschiedlich Die Funktion array_diff() gibt diese Werte zurück.

Implementierungsmethode 2: Foreach-Schleife verwenden

Zusätzlich zur Verwendung der Funktion array_diff() können wir auch die Foreach-Schleife verwenden, um die Werte zweier Arrays zu vergleichen und die unterschiedlichen Werte anzuzeigen.

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "blue", "d" => "yellow");

foreach($array1 as $key => $value){
    if($value != $array2[$key]){
        echo "键为".$key."的值不同,分别为".$value."和".$array2[$key]."<br>";
    }
}
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

键为b的值不同,分别为green和blue
键为c的值不同,分别为blue和
Nach dem Login kopieren

Wie aus den obigen Ergebnissen ersichtlich ist, sind die Werte mit den Schlüsseln „b“ und „c“ in $array1 und $array2 unterschiedlich Die foreach-Schleife gibt diese Werte aus.

Es ist zu beachten, dass Sie bei Verwendung einer foreach-Schleife zum Vergleichen zweier Arrays sicherstellen müssen, dass die beiden Arrays dieselben Schlüssel haben, da andernfalls ein Hinweis: Undefinierter Offset-Fehler auftreten kann.

Implementierungsmethode 3: Verwenden Sie die Funktion array_map()

Eine andere Möglichkeit, die Werte zweier Arrays zu vergleichen, ist die Verwendung der Funktion array_map(). Diese Funktion wendet eine benutzerdefinierte Funktion auf die Werte desselben Schlüssels in beiden Arrays an und speichert die Ergebnisse in einem neuen Array.

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "blue", "d" => "yellow");

$result = array_map(function($a, $b){
    if($a != $b){
        return array($a, $b);
    }
}, $array1, $array2);

print_r($result);
Nach dem Login kopieren

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [b] => Array
        (
            [0] => green
            [1] => blue
        )

    [c] => Array
        (
            [0] => blue
            [1] =>
        )

    [d] => Array
        (
            [0] =>
            [1] => yellow
        )

)
Nach dem Login kopieren

Wie aus den obigen Ergebnissen ersichtlich ist, sind die Werte mit den Schlüsseln „b“ und „c“ in $array1 und $array2 unterschiedlich Die Funktion array_map() gibt diese Werte zurück.

Es ist zu beachten, dass Sie bei Verwendung der Funktion array_map() zum Vergleichen zweier Arrays eine benutzerdefinierte Funktion verwenden müssen, um die Vergleichslogik zu implementieren.

Zusammenfassend lässt sich sagen, dass es viele Implementierungsmethoden gibt, um die Werte zweier Arrays zu vergleichen und unterschiedliche Werte anzuzeigen. Unter diesen sind die Funktion array_diff() und die foreach-Schleife relativ einfach und klar und eignen sich für relativ kleine Arrays, während die Funktion array_map() eher für relativ große Arrays geeignet ist und benutzerdefinierte Funktionen verwendet werden können um eine komplexere Vergleichslogik zu implementieren. In der tatsächlichen Entwicklung kann die Auswahl geeigneter Vergleichsmethoden auf der Grundlage tatsächlicher Bedingungen die Entwicklungseffizienz und Codequalität verbessern.

Das obige ist der detaillierte Inhalt vonSo vergleichen Sie zwei Arrays mit unterschiedlichen Werten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage