Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Array-Schlüssel neu basieren, nachdem ich Elemente in PHP deaktiviert habe?

Wie kann ich Array-Schlüssel neu basieren, nachdem ich Elemente in PHP deaktiviert habe?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 08:33:27916Durchsuche

How to Rebase Array Keys After Unsetting Elements in PHP?

Array-Schlüssel nach dem Aufheben der Festlegung von Elementen neu basieren

Bei der Arbeit mit Arrays in PHP kommt es häufig zu Situationen, in denen Sie bestimmte Elemente entfernen müssen. Das Deaktivieren von Elementen kann jedoch zu Indexlücken führen, was möglicherweise zu Verwirrung und falschen Ergebnissen führt.

Problem

Betrachten Sie ein Array mit den folgenden Werten:

$array = [1, 2, 3, 4, 5];

Wenn Sie das Array durchlaufen und bestimmte Schlüssel deaktivieren, werden die Indexlücken sichtbar:

<code class="php">foreach ($array as $i => $info) {
    if ($info == 1 || $info == 2) {
        unset($array[$i]);
    }
}</code>

Dies führt zu einem Array mit fehlenden Schlüsseln:

[
    2 => 3,
    3 => 4,
    4 => 5
]

Lösung

Um die Schlüssel des Arrays ordnungsgemäß zurückzusetzen und sie wieder auf Null zu setzen, verwenden Sie die Funktion array_values():

<code class="php">$array = array_values($array);</code>

Diese Funktion erstellt ein neues Array mit Neubasierung Schlüssel, beginnend bei Null.

Beispiel

Das Anwenden von array_values() auf das obige Array würde Folgendes ergeben:

[
    0 => 3,
    1 => 4,
    2 => 5
]

Das obige ist der detaillierte Inhalt vonWie kann ich Array-Schlüssel neu basieren, nachdem ich Elemente in PHP deaktiviert habe?. 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