Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie dieselben Elemente im PHP-Array

So löschen Sie dieselben Elemente im PHP-Array

PHPz
PHPzOriginal
2023-04-25 09:06:13428Durchsuche

Wenn in PHP dieselben Elemente im Array vorhanden sind, müssen wir sie möglicherweise löschen. Diese Frage scheint einfach zu sein, beinhaltet aber tatsächlich einige technische Details. Lassen Sie uns besprechen, wie Sie dieselben Elemente in einem PHP-Array löschen.

Methode 1: Verwenden Sie die Funktion array_unique

PHP bietet eine Funktion array_unique(), die doppelte Elemente aus einem Array entfernen und nur eines davon behalten kann. Diese Funktion ist sehr einfach, wir müssen ihr nur das Array übergeben, das dedupliziert werden muss, als Parameter.

Beispielcode:

$array = array('a', 'b', 'c', 'a', 'b');
$unique_array = array_unique($array);
print_r($unique_array);

Ausgabeergebnis:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Wie Sie dem obigen Code entnehmen können, behält die Funktion array_unique() nur das einzige Element im ursprünglichen Array bei. Die doppelten Elemente im Array werden jedoch nicht tatsächlich gelöscht, sondern alle doppelten Elemente bleiben erhalten. Wenn wir doppelte Elemente wirklich entfernen möchten, müssen wir sie in Verbindung mit der Funktion unset() verwenden.

Methode 2: Schleifen und nicht gesetzte Funktionen verwenden

Wir können eine Schleife verwenden, um jedes Element im Array zu durchlaufen und durch Vergleich festzustellen, ob doppelte Elemente vorhanden sind, und diese löschen, wenn sie vorhanden sind.

Beispielcode:

$array = array('a', 'b', 'c', 'a', 'b');
for($i = 0; $i < count($array); $i++){
    for($j = $i + 1; $j < count($array); $j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Wie Sie dem obigen Code entnehmen können, durchlaufen wir alle Elemente im Array durch zwei for-Schleifen, ermitteln dann, ob es doppelte Elemente gibt, und verwenden unset() Funktion zu löschen. Das endgültige Ausgabeergebnis ist das Array nach der Deduplizierung.

Es ist zu beachten, dass sich bei Verwendung der Funktion unset() der Index des Arrays ändert, wenn wir die Elemente im Array direkt löschen. Um Probleme durch Indexänderungen zu vermeiden, können wir die Funktion array_values() verwenden, um die Indizes des Arrays neu anzuordnen.

$array = array('a', 'b', 'c', 'a', 'b');
for($i = 0; $i < count($array); $i++){
    for($j = $i + 1; $j < count($array); $j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}
$array = array_values($array);
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => a
    [1] => b
    [2] => c
)

Fazit

Die oben genannten Methoden sind zwei Methoden zum Löschen doppelter Elemente in einem Array in PHP. Aus Effizienzsicht ist die Verwendung der Funktion array_unique() effizienter, es ist jedoch zu beachten, dass sie ein neues Array zurückgibt, anstatt das ursprüngliche Array direkt zu löschen Etwas weniger effizient, kann aber tatsächlich gelöscht werden. Wiederholte Elemente vermeiden auch Änderungen in Array-Indizes. Abhängig von den spezifischen Anforderungen und tatsächlichen Szenarien können wir die geeignete Methode zum Umgang mit wiederholten Elementen in PHP-Arrays auswählen.

Das obige ist der detaillierte Inhalt vonSo löschen Sie dieselben Elemente im PHP-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