Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Array-Vergleich zum Entfernen unterschiedlicher Werte

PHP-Array-Vergleich zum Entfernen unterschiedlicher Werte

PHPz
PHPzOriginal
2023-05-07 14:34:07666Durchsuche

Bei der PHP-Programmierung treten häufig Datenvergleichs- und Deduplizierungsprobleme auf. Unter diesen ist der Array-Vergleich zum Entfernen verschiedener Werte ein häufiges Problem, und es ist auch ein schwieriges Problem, das viele Entwickler lösen müssen.

Warum müssen wir einen Array-Vergleich durchführen, um mit verschiedenen Werten zu arbeiten? Oft liegt es daran, dass wir Daten aus verschiedenen Datenquellen beziehen und diese dann integrieren und verarbeiten müssen. Zu diesem Zeitpunkt müssen wir Array-Vergleichsvorgänge durchführen, um die Daten verschiedener Ziele zu filtern und zu deduplizieren und schließlich die benötigten Zieldaten zu generieren.

Wie führt man also einen Array-Vergleich durch, um mit verschiedenen Werten zu arbeiten? Im Folgenden wird dieses Problem auf zwei gängige Arten eingeführt: Verwendung der Funktion in_array und Verwendung der Funktion array_diff.

Methode 1: Verwenden Sie die Funktion in_array für den Array-Vergleich.

In PHP kann die Funktion in_array verwendet werden, um festzustellen, ob ein Element in einem Array vorhanden ist. Daher können wir den Array-Vergleich durchführen, um unterschiedliche Werte zu entfernen, indem wir das Array durchlaufen und beurteilen.

Die spezifischen Implementierungsschritte sind wie folgt:

1 Definieren Sie zwei Arrays $arr1 und $arr2 und speichern Sie jeweils die beiden Arrays, die verglichen werden müssen.

2. Durchlaufen Sie das Array $arr1 und verwenden Sie die Funktion in_array, um zu bestimmen, ob jedes Element im Array $arr1 auch im Array $arr2 vorhanden ist.

3. Wenn ein Element im Array $arr1 nicht im Array $arr2 vorhanden ist, fügen Sie das Element einem neuen Array $result hinzu.

4. Durchlaufen Sie das Array $arr2 und verwenden Sie die Funktion in_array, um zu bestimmen, ob jedes Element im Array $arr2 auch im Array $arr1 vorhanden ist.

5. Wenn ein Element im Array $arr2 nicht im Array $arr1 vorhanden ist, fügen Sie das Element zum Array $result hinzu.

6. Geben Sie das $result-Array als die von uns benötigten Ergebnisse zurück.

Die vollständige Code-Implementierung lautet wie folgt:

$arr1 = array("apple", "banana", "orange", "kiwi");
$arr2 = array("apple", "grape", "watermelon", "kiwi");
$result = array();

foreach ($arr1 as $value) {
    if(!in_array($value, $arr2)){
        array_push($result, $value);
    }
}

foreach ($arr2 as $value) {
    if(!in_array($value, $arr1)){
        array_push($result, $value);
    }
}

print_r($result);

Das Ausgabeergebnis des obigen Codes lautet:

Array
(
    [0] => banana
    [1] => orange
    [2] => grape
    [3] => watermelon
)

Es ist ersichtlich, dass verschiedene Elemente im Array herausgefiltert wurden und der Array-Vergleichsvorgang unterschiedliche Werte entfernt wurde erfolgreich umgesetzt.

Es ist zu beachten, dass die Verwendung der Funktion in_array zum Vergleichen von Arrays zum Entfernen unterschiedlicher Werte zwei Durchläufe erfordert. Wenn viele Array-Elemente vorhanden sind, wirkt sich dies auf die Programmleistung und -effizienz aus und ist daher nicht für Szenarien mit hohen Leistungsanforderungen geeignet .

Methode 2: Verwenden Sie die Funktion array_diff, um einen Array-Vergleich durchzuführen.

Eine weitere gängige Methode besteht darin, die Funktion array_diff zum Ausführen eines Array-Vergleichs zu verwenden, um verschiedene Werte zu entfernen. Die Funktion array_diff wird verwendet, um die Differenzmenge mehrerer Arrays zu ermitteln. Sie kann verschiedene Elemente in mehreren Arrays herausfiltern und so den Vorgang des Array-Vergleichs zum Entfernen unterschiedlicher Werte erreichen.

Die spezifischen Implementierungsschritte lauten wie folgt:

  1. Definieren Sie zwei Arrays $arr1 und $arr2 und speichern Sie jeweils die beiden Arrays, die verglichen werden müssen.
  2. Verwenden Sie die Funktion array_diff, um verschiedene Elemente zwischen den Arrays $arr1 und $arr2 zu vergleichen und die Ergebnisse in den neuen Arrays $result1 und $result2 zu speichern.
  3. Führen Sie die Arrays $result1 und $result2 zu einem neuen Array $result zusammen.
  4. Gibt das Array $result als das von uns benötigte Ergebnis zurück.

Die vollständige Code-Implementierung lautet wie folgt:

$arr1 = array("apple", "banana", "orange", "kiwi");
$arr2 = array("apple", "grape", "watermelon", "kiwi");
$result1 = array_diff($arr1, $arr2);
$result2 = array_diff($arr2, $arr1);
$result = array_merge($result1, $result2);
print_r($result);

Das Ausgabeergebnis des obigen Codes lautet:

Array
(
    [1] => banana
    [2] => orange
    [3] => grape
    [4] => watermelon
)

Es ist ersichtlich, dass mit der Funktion array_diff auch der Vorgang zum Vergleichen von Arrays zum Entfernen verschiedener Werte erfolgreich implementiert werden kann Gleichzeitig ist nur eine Durchquerung erforderlich, was effizienter und für Szenarien mit hohen Leistungsanforderungen geeignet ist.

Fazit:

Der Vorgang des Array-Vergleichs zum Entfernen verschiedener Werte in PHP kann mithilfe der Funktionen in_array und array_diff erreicht werden. Die Funktion in_array eignet sich für kleinere Arrays und nicht für Szenarien mit hohen Leistungsanforderungen. Die Funktion array_diff ist für alle Szenarien geeignet und bietet höhere Effizienz- und Leistungsvorteile und kann für die Verwendung in der tatsächlichen Programmierung in Betracht gezogen werden.

Das obige ist der detaillierte Inhalt vonPHP-Array-Vergleich zum Entfernen unterschiedlicher Werte. 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