Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie Arrays mit demselben Wert in PHP

So entfernen Sie Arrays mit demselben Wert in PHP

PHPz
PHPzOriginal
2023-04-24 15:51:46564Durchsuche

Das Manipulieren von Arrays ist eine häufige Aufgabe in der PHP-Entwicklung. Wenn das Array jedoch doppelte Elemente enthält, müssen Sie eine Methode verwenden, um die Duplikate zu entfernen. In diesem Artikel erfahren Sie, wie Sie mit PHP Arrays mit identischen Werten entfernen.

  1. Verwenden Sie die Funktion array_unique().

Die Funktion array_unique() ist PHPs eigene Deduplizierungsfunktion, mit der identische Elemente problemlos entfernt werden können:

array array_unique(array $array [, int $sort_flags = SORT_STRING ])

Parameterbeschreibung:

  • $array (erforderlich): Array um Duplikate zu entfernen.
  • $sort_flags (optional): Optionaler Parameter, der angibt, wie das Array sortiert werden soll. Der Standardwert ist SORT_STRING, der nach Zeichenfolgen vergleicht.

Die Verwendungsmethode ist wie folgt:

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

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

Es ist ersichtlich, dass die Funktion array_unique() problemlos doppelte Elemente im Array entfernen und nicht doppelte Elemente beibehalten kann.

  1. Verwenden Sie Schleifen, um Duplikate zu entfernen

Zusätzlich zur Funktion array_unique() können Sie auch Schleifen verwenden, um Duplikate zu entfernen. Der gesamte Prozess läuft folgendermaßen ab: Durchlaufen Sie das ursprüngliche Array, vergleichen Sie jedes Element und filtern Sie es heraus, wenn dasselbe Element gefunden wird.

Der spezifische Operationscode lautet wie folgt:

$originalArray = array('a', 'b', 'c', 'a', 'b');
$uniqueArray = array();

foreach($originalArray as $value){
    if(!in_array($value, $uniqueArray)){
        $uniqueArray[] = $value;
    }
}

print_r($uniqueArray);

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

Diese Methode muss das gesamte Array durchlaufen und ist nicht so effizient wie die Funktion array_unique().

  1. Verwenden Sie die Funktionen array_flip() und array_keys()

Die Verwendung dieser Methode erfordert zunächst einen Schritt zum Austauschen der Werte und Schlüssel des Arrays, d. h. die Konvertierung des ursprünglichen Arrays in eines mit Werten als Schlüssel und Schlüssel als Werte neues Array. Dies kann mit der Funktion array_flip() erreicht werden.

Als nächstes können Sie die Funktion array_keys() verwenden, um alle Schlüssel des neuen Arrays, also nicht doppelte Elemente, abzurufen. Der spezifische Code lautet wie folgt:

$originalArray = array('a', 'b', 'c', 'a', 'b');
$newArray = array_flip($originalArray);
$uniqueArray = array_keys($newArray);

print_r($uniqueArray);

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

Mit dieser Methode ist die Effizienz sehr hoch, selbst wenn das ursprüngliche Array groß ist.

Zusammenfassend lässt sich sagen, dass es in PHP viele Möglichkeiten gibt, Arrays mit denselben Werten zu entfernen, und Sie können entsprechend der tatsächlichen Situation auswählen, welche Methode verwendet werden soll. Wenn es sich bei den Array-Elementen um komplexe Typen wie Objekte handelt, funktioniert die Funktion array_unique() möglicherweise nicht. In diesem Fall können Sie die Deduplizierung durch Methoden wie benutzerdefinierte Vergleichsfunktionen erreichen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie Arrays mit demselben Wert in PHP. 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