Heim >Backend-Entwicklung >PHP-Problem >PHP löscht wiederholte Absätze aus dem Array

PHP löscht wiederholte Absätze aus dem Array

王林
王林Original
2023-05-07 12:58:07425Durchsuche

Vorwort

Wenn Sie beim Entwickeln einer PHP-Anwendung doppelte Elemente in einem Array entfernen müssen, können Sie einige integrierte Funktionen verwenden oder den Durchlaufvorgang manuell ausführen. In diesem Artikel werden verschiedene Methoden zum Entfernen doppelter Elemente aus Arrays in PHP vorgestellt und diese im Detail erläutert und analysiert.

Methode 1: Verwenden Sie die Funktion array_unique()

In PHP können Sie die Funktion array_unique() verwenden, um doppelte Elemente in einem Array zu entfernen. Diese Funktion gibt ein neues Array zurück, das nur eindeutige Elemente aus dem ursprünglichen Array enthält.

$arr ​​​​= array(1, 2, 2, 3, 4, 4, 5);
$new_arr = array_unique($arr) ;# 🎜🎜#print_r($new_arr); // Ausgabe: Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => ; 5 )
?>

Im obigen Code erstellen wir zunächst ein Array $arr, das wiederholte Elemente enthält, bearbeiten es dann mit der Funktion array_unique() und speichern das Ergebnis darin $new_arr. Geben Sie schließlich das Ergebnis über die Funktion print_r() aus, und Sie können sehen, dass das neue Array nur sich nicht wiederholende Elemente enthält.

Es ist zu beachten, dass die Funktion array_unique() die ursprüngliche Reihenfolge der Array-Elemente beibehält, d. h. unabhängig von der Reihenfolge, in der die Elemente erscheinen, ist die Reihenfolge des neuen Arrays die Identisch mit dem ursprünglichen Array.

Methode 2: Manuelles Durchlaufen des Arrays

Zusätzlich zur Verwendung der Funktion array_unique() können wir auch die Methode des manuellen Durchlaufens des Arrays verwenden, um doppelte Elemente zu löschen. Die spezifischen Schritte sind wie folgt:

    Erstellen Sie ein neues Array $new_arr, das zum Speichern eindeutiger Elemente verwendet wird.
  • Durchlaufen Sie das ursprüngliche Array $arr und bestimmen Sie bei jeder Schleife, ob das aktuelle Element bereits im neuen Array $new_arr vorhanden ist.
  • Fügen Sie das aktuelle Element zu $new_arr hinzu, wenn es nicht existiert.
  • Endlich das neue Array $new_arr zurückgeben.
Der Implementierungscode lautet wie folgt:

$arr ​​​​= array(1, 2, 2, 3, 4, 4, 5 );
$new_arr = array();
for ($i = 0; $i < count($arr); $i++) {
if (!in_array($arr[$i], $new_arr)) {
    $new_arr[] = $arr[$i];
}
#🎜 🎜#}#🎜 🎜#print_r($new_arr); // Ausgabe: Array ( [0] => 1 [1] => 2 [3] => 3 [4] => 4 [6] => 5 ) ?>


Im obigen Code verwenden wir eine for-Schleife, um das ursprüngliche Array $arr zu durchlaufen, und verwenden die Funktion in_array(), um zu bestimmen, ob das aktuelle Das Element existiert bereits im neuen Array $ in jeder Schleife in new_arr. Wenn es nicht existiert, wird das aktuelle Element zu $new_arr hinzugefügt. Abschließend wird der Inhalt des neuen Arrays über die Funktion print_r() ausgegeben.

Es ist zu beachten, dass das manuelle Durchlaufen des Arrays zwar doppelte Elemente löschen kann, im Vergleich zur Funktion array_unique() jedoch mehr Code erfordert, weniger effizient ist und anfällig für Logikfehler ist. Versuchen Sie daher, die in PHP integrierten Funktionen in der tatsächlichen Entwicklung zu verwenden.

Methode 3: Verwenden Sie die Funktionen array_flip(), array_values().

In PHP integrierte Funktionen bieten eine Lösung zum Entfernen doppelter Elemente mithilfe von Array-Schlüsselwerten. Die spezifischen Schritte lauten wie folgt:

Verwenden Sie die Funktion array_flip(), um das Array umzukehren, wobei die Werte im Array als Schlüssel und die Schlüssel als Werte verwendet werden.

    Verwenden Sie die Funktion array_values(), um Schlüssel aus dem Array zu entfernen und ein neues Array zurückzugeben, das nur Werte enthält.
  • Der Implementierungscode lautet wie folgt:
$arr ​​​​= array(1, 2, 2, 3, 4, 4, 5 );

$new_arr = array_values(array_flip($arr));

print_r($new_arr); // Ausgabe: Array ( [0] => 1 [1] = > 2 [2 ] => 4 [4] => 5 )
?>

Im obigen Code verwenden wir zuerst den array_flip () Funktion zum Umdrehen des Arrays Die Werte und Schlüssel in $arr werden invertiert, wobei Werte als Schlüssel und Schlüssel als Werte verwendet werden. Das umgekehrte Array wird dann an die Funktion array_values() übergeben und der Inhalt des neuen Arrays wird über die Funktion print_r() ausgegeben.
Es ist zu beachten, dass die Verwendung von Schlüsselwerten zum Löschen doppelter Elemente in einem Array davon abhängt, dass der Wert des Elements selbst eindeutig ist. Sie müssen daher berücksichtigen, ob der Elementwert bei der Verwendung möglicherweise dupliziert wird Es.

Zusammenfassung

Es gibt viele Möglichkeiten, doppelte Elemente in einem PHP-Array zu entfernen, unter denen die Funktion array_unique() die am häufigsten verwendete ist. Wenn Sie das Array manuell durchlaufen müssen, um doppelte Elemente zu löschen, müssen Sie auf die Effizienz und Logik des Codes achten. Die Verwendung von Array-Schlüsselwerten kann die Codeeffizienz bis zu einem gewissen Grad verbessern, Sie müssen jedoch berücksichtigen, ob die Elementwerte wiederholt werden dürfen.

In der tatsächlichen Entwicklung ist es sehr wichtig, eine geeignete Methode zum Löschen doppelter Elemente in einem Array entsprechend den spezifischen Anforderungen und Datentypen auszuwählen.

Das obige ist der detaillierte Inhalt vonPHP löscht wiederholte Absätze aus dem Array. 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