Heim > Backend-Entwicklung > PHP-Problem > So löschen Sie Elemente mit demselben Schlüsselwert im PHP-Array

So löschen Sie Elemente mit demselben Schlüsselwert im PHP-Array

PHPz
Freigeben: 2023-03-23 17:26:01
Original
1504 Leute haben es durchsucht

PHP ist eine leistungsstarke Programmiersprache, die verschiedene Array-Funktionen zum Bearbeiten von Arrays bereitstellt. PHP bietet viele Lösungen, wenn wir Elemente mit demselben Schlüsselwert aus einem Array löschen müssen. In diesem Artikel stellen wir einige gängige Methoden zum Löschen von Elementen mit demselben Schlüsselwert vor.

Methode 1: Verwenden Sie die Funktion array_unique().

Die Funktion array_unique() kann doppelte Werte aus dem Array entfernen und ein neues Array zurückgeben, in dem alle Schlüsselnamen unverändert bleiben. Hier ist ein Beispielcode zum Entfernen von Elementen mithilfe der Funktion array_unique():

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_unique($old_array);
print_r($new_array);
Nach dem Login kopieren

Im obigen Code enthält das ursprüngliche Array vier Elemente, von denen zwei den gleichen Schlüsselwert haben. Die Funktion array_unique() entfernt doppelte Elemente aus dem Array und gibt ein neues Array zurück. Das Ausgabeergebnis ist wie folgt:

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)
Nach dem Login kopieren
Nach dem Login kopieren

Methode 2: Verwenden Sie die Funktion array_filter(). Die Funktion array_filter() kann die Elemente im Array filtern und ein neues Array zurückgeben, das nur Elemente enthält, die bestimmte Bedingungen erfüllen. Hier ist ein Beispielcode, der die Funktion array_filter() zum Entfernen von Elementen verwendet:

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_filter($old_array, function($value, $key) use ($old_array) {
    return count(array_keys($old_array, $value)) == 1;
}, ARRAY_FILTER_USE_BOTH);
print_r($new_array);
Nach dem Login kopieren
Im obigen Code verwenden wir eine anonyme Funktion, um die Filterbedingungen zu definieren. Diese Funktion vergleicht den Wert und den Schlüssel jedes Elements, um festzustellen, ob es nur einmal vorkommt. Wenn ja, geben Sie true zurück, andernfalls geben Sie false zurück. Das endgültige Ausgabeergebnis lautet wie folgt:

Array
(
    [one] => 1
    [three] => 3
)
Nach dem Login kopieren

Methode 3: Verwenden Sie die Funktion array_diff_key()

array_diff_key(), um die Schlüsselnamen der beiden Arrays zu vergleichen und die Elemente zurückzugeben, die unterschiedlichen Schlüsselnamen im ersten Array entsprechen . Hier ist ein Beispielcode zum Entfernen von Elementen mithilfe der Funktion array_diff_key():

$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = array_diff_key($old_array, array_unique($old_array));
print_r($new_array);
Nach dem Login kopieren
Im obigen Code entfernen wir zunächst doppelte Elemente im Array mithilfe der Funktion array_unique() und übergeben das Ergebnis als zweiten Parameter an die Funktion array_diff_key(). Die endgültige Ausgabe lautet wie folgt:

Array
(
    [two] => 2
)
Nach dem Login kopieren

Methode 4: Verwenden Sie eine benutzerdefinierte Funktion

Wenn die obige Methode für Ihren spezifischen Anwendungsfall nicht funktioniert, können Sie eine benutzerdefinierte Funktion erstellen, um Elemente mit demselben Schlüsselwert zu löschen. Hier ist ein Beispielcode zum Entfernen eines Elements mithilfe einer benutzerdefinierten Funktion:

function delete_duplicate_elements($array) {
    $result = array();
    foreach($array as $key => $value) {
        if(!in_array($value, $result)) {
            $result[$key] = $value;
        }
    }
    return $result;
}
$old_array = array("one" => 1, "two" => 2, "three" => 3, "four" => 2);
$new_array = delete_duplicate_elements($old_array);
print_r($new_array);
Nach dem Login kopieren
Im obigen Code verwendet die benutzerdefinierte Funktion die Funktion in_array(), um zu überprüfen, ob das Element bereits im Ergebnisarray vorhanden ist. Wenn es nicht vorhanden ist, wird das Element dem resultierenden Array hinzugefügt. Die endgültige Ausgabe lautet wie folgt:

Array
(
    [one] => 1
    [two] => 2
    [three] => 3
)
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

PHP bietet verschiedene integrierte Funktionen und Methoden zum Löschen von Array-Elementen mit demselben Schlüsselwert. Je nach Bedarf können Sie die für Sie passende Methode auswählen und in Ihrem Projekt einsetzen. Wir hoffen, dass dieser Artikel Ihnen hilft, Arrays mit PHP besser zu bearbeiten.

Das obige ist der detaillierte Inhalt vonSo löschen Sie Elemente mit demselben Schlüsselwert im PHP-Array. 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