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

So löschen Sie dieselben Elemente in einem Array in PHP

PHPz
PHPzOriginal
2023-04-25 17:36:23841Durchsuche

In der Webentwicklung sind Array-Operationen eine sehr verbreitete und wesentliche Fähigkeit. Es gibt viele Möglichkeiten, Arrays in PHP zu bearbeiten, einschließlich des Hinzufügens, Änderns und Löschens von Elementen aus einem Array. Dieser Artikel konzentriert sich darauf, wie Sie identische Elemente mithilfe einer der PHP-Array-Operationen löschen.

Die gleichen Elemente im Array wirken sich normalerweise negativ auf die Codelogik aus. Beispielsweise führen doppelte Daten zu einer ineffizienten Codeausführung. Glücklicherweise bietet PHP eine Lösung für dieses Problem.

Schauen wir uns zunächst mehrere Möglichkeiten an, identische Elemente in einem Array in PHP zu löschen.

Methode 1: Verwenden Sie die Funktion array_unique.

Die Funktion array_unique ist eine Verpackungsfunktion in PHP, die zum Entfernen doppelter Werte in einem Array verwendet wird. Diese Funktion gibt ein neues Array zurück, das nur die eindeutigen Werte des ursprünglichen Arrays enthält. Die spezifische Verwendung ist wie folgt:

$array = array('东京', '纽约', '上海', '纽约');
$array = array_unique($array);
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Methode 2: For-Schleife verwenden

For-Schleife verwenden, um das Array zu durchlaufen und Vergleichen Sie jedes Element. Ist es dasselbe wie das vorherige Element? Wenn ja, löschen Sie das Element. Der spezifische Code lautet wie folgt:

$array = array('东京', '纽约', '上海', '纽约');
for ($i = 0; $i < count($array); $i++) {
    for ($j = $i + 1; $j < count($array); $j++) {
        if ($array[$i] == $array[$j]) {
            array_splice($array, $j, 1);
            $j--;
        }
    }
}
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Methode 3: Verwenden Sie die Funktionen array_flip und array_keys.

Die Funktion array_flip kann Schlüssel austauschen das Array und die Werte, während die Funktion array_keys alle Schlüssel in einem Array zurückgibt. Durch die Kombination dieser beiden Funktionen können wir doppelte Elemente problemlos aus dem Array entfernen.

Der spezifische Code lautet wie folgt:

$array = array('东京', '纽约', '上海', '纽约');
$array = array_flip($array);
$array = array_keys($array);
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Die oben genannten drei Methoden können alle den Vorgang des Löschens derselben Elemente erreichen im Array, aber die Implementierungsmethoden zwischen ihnen sind unterschiedlich. Welche Methode für Ihr Entwicklungsszenario geeignet ist, hängt von der Situation ab.

Es ist erwähnenswert, dass das Löschen derselben Elemente im Array nicht unbedingt die Verwendung der von PHP bereitgestellten Funktionen erfordert. Manchmal können wir diesen Vorgang auch durch das Schreiben unseres eigenen Codes erreichen. Das Folgende ist ein Beispiel:

Methode 4: Schreiben Sie Ihre eigene Löschfunktion

function delSameValue(array $array) {
    $result = array();
    foreach ($array as $value) {
        if (!in_array($value, $result)) {
            $result[] = $value;
        }
    }
    return $result;
}

$array = array('东京', '纽约', '上海', '纽约');
$array = delSameValue($array);
print_r($array);

Ausgabeergebnis:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Die obige Methode löscht nur dasselbe Elemente im Array Es gibt mehrere Möglichkeiten, wenn Sie weitere Array-Operationen benötigen, müssen Sie weiterhin andere verwandte Funktionen und Techniken in PHP erlernen. Gleichzeitig müssen Sie darauf achten, die optimale Methode zur Lösung des Problems entsprechend der tatsächlichen Situation bei der Verarbeitung von Arrays auszuwählen, um eine bessere Ausführungseffizienz und einen einfacheren Code zu erzielen.

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