Heim > Backend-Entwicklung > PHP-Problem > So erhalten Sie in PHP unterschiedliche Werte in zwei Arrays

So erhalten Sie in PHP unterschiedliche Werte in zwei Arrays

PHPz
Freigeben: 2023-04-20 11:02:30
Original
663 Leute haben es durchsucht

Um in PHP die verschiedenen Elemente in zwei Arrays abzurufen, können wir die Funktion array_diff() verwenden. Diese Funktion gibt ein neues Array zurück, das aus Elementen besteht, die in Array 1 vorhanden, aber nicht in Array 2 vorhanden sind.

Das Folgende ist ein Beispiel, wobei davon ausgegangen wird, dass die beiden Arrays, die wir vergleichen möchten, $arr1 und $arr2 sind:

$arr1 = array("apple", "banana", "orange");
$arr2 = array("banana", "orange", "pear", "kiwi");
$result = array_diff($arr1, $arr2);
print_r($result); // 输出:Array ( [0] => apple )
Nach dem Login kopieren

In diesem Beispiel erscheint das „apple“-Element in $arr1 nicht in $arr2, daher wird es zurückgegeben im $result-Array.

Beachten Sie jedoch, dass array_diff() nur eindimensionale Arrays vergleicht. Wenn Sie mehrdimensionale Arrays vergleichen möchten, müssen Sie die rekursive Funktion selbst schreiben. Hier ist ein Beispiel für den Vergleich mehrdimensionaler Arrays:

function array_diff_multi($arr1, $arr2) {
    $diff = array();
    foreach ($arr1 as $key => $value) {
        if (is_array($value) && isset($arr2[$key]) && is_array($arr2[$key])) {
            $diff[$key] = array_diff_multi($value, $arr2[$key]);
        } else {
            if (!in_array($value, $arr2)) {
                $diff[$key] = $value;
            }
        }
    }
    return $diff;
}

$arr1 = array("fruit" => array("apple", "banana", "orange"), "color" => "blue");
$arr2 = array("fruit" => array("banana", "orange", "pear", "kiwi"), "color" => "red");
$result = array_diff_multi($arr1, $arr2);
print_r($result); // 输出:Array ( [fruit] => Array ( [0] => apple ) [color] => blue )
Nach dem Login kopieren

In diesem Beispiel haben wir eine benutzerdefinierte Funktion array_diff_multi() erstellt, die zwei mehrdimensionale Arrays vergleicht. Wir verwenden Rekursion, um die Elemente jedes Unterarrays zu vergleichen.

Kurz gesagt, es gibt viele Möglichkeiten, unterschiedliche Elemente zweier Arrays in PHP abzurufen. Die Funktion array_diff() ist eine der einfachsten und am häufigsten verwendeten Methoden, funktioniert jedoch nur mit eindimensionalen Arrays. Wenn Sie mehrdimensionale Arrays vergleichen möchten, müssen Sie eine benutzerdefinierte rekursive Funktion verwenden.

Das obige ist der detaillierte Inhalt vonSo erhalten Sie in PHP unterschiedliche Werte in zwei Arrays. 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