Heim > Backend-Entwicklung > PHP-Tutorial > So finden und löschen Sie doppelte Daten in einem Array in PHP

So finden und löschen Sie doppelte Daten in einem Array in PHP

PHPz
Freigeben: 2023-04-11 13:04:01
Original
1699 Leute haben es durchsucht

Bei der Webentwicklung stoßen wir häufig auf Situationen, in denen wir große Datenmengen finden und bearbeiten müssen, beispielsweise das Abfragen bestimmter Datensätze aus der Datenbank oder das Löschen von Daten. In einem solchen Szenario verfügt PHP als weit verbreitete Webentwicklungssprache über integrierte Funktionen und Bibliotheken, mit denen diese Aufgaben häufig problemlos erledigt werden können. In diesem Artikel wird erläutert, wie Sie mit PHP Duplikate in einem Zielarray finden und entfernen.

  1. Duplikate finden

Vor dem Löschen von Duplikaten müssen wir zunächst herausfinden, welche Daten dupliziert sind. Die Array-Funktionen von PHP bieten eine Fülle von Methoden zum Bearbeiten von Elementen in Arrays, z. B. Array-Deduplizierung, Zusammenführung, Sortierung usw. Wir können die Funktion array_count_values ​​von PHP verwenden, um die Anzahl der Vorkommen jedes Elements im Array zu zählen, und dann Elemente mit Vorkommen größer als 1 über die Funktion array_filter herausfiltern. Der Beispielcode lautet wie folgt:

$data = array(1, 2, 3, 4, 5, 1, 2, 4, 6);
$counts = array_count_values($data);
$duplicates = array_filter($counts, function ($count) {
    return $count > 1;
});

print_r($duplicates);
Nach dem Login kopieren

Der obige Code gibt die wiederholten Elemente und ihre Häufigkeit aus:

Array
(
    [1] => 2
    [2] => 2
    [4] => 2
)
Nach dem Login kopieren
  1. Duplikate Daten entfernen

Als nächstes müssen wir diese wiederholten Elemente aus den Originaldaten entfernen. In PHP können wir die Funktion array_keys verwenden, um die Schlüsselnamen aller angegebenen Werte in einem Array abzurufen, und dann die Funktion unset verwenden, um die diesen Schlüsseln entsprechenden Elemente zu löschen. Der Beispielcode lautet wie folgt:

$data = array(1, 2, 3, 4, 5, 1, 2, 4, 6);
$counts = array_count_values($data);
$duplicates = array_filter($counts, function ($count) {
    return $count > 1;
});
$keys = array_keys($duplicates);

foreach ($keys as $key) {
    while (($index = array_search($key, $data)) !== false) {
        unset($data[$index]);
    }
}

print_r($data);
Nach dem Login kopieren

Im obigen Code erhalten wir zuerst den Schlüsselnamen des wiederholten Elements und verwenden dann eine While-Schleife, um jeden Schlüsselnamen zu suchen und zu löschen, bis alle entsprechenden Elemente gelöscht sind. Geben Sie abschließend den gelöschten Datensatz aus:

Array
(
    [0] => 3
    [1] => 5
    [5] => 6
)
Nach dem Login kopieren
  1. Zusammenfassung

In diesem Artikel wird erläutert, wie Sie mit PHP doppelte Daten in einem Array finden und löschen. Mithilfe der von PHP bereitgestellten Array-Funktionen und einer einfachen Logik können wir diese Vorgänge problemlos abschließen. Für Such- und Löschvorgänge in großen Datensätzen wird natürlich empfohlen, effizientere Algorithmen und Tools zu verwenden, um Leistung und Effizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonSo finden und löschen Sie doppelte Daten in einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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