Heim  >  Artikel  >  Backend-Entwicklung  >  Wie indiziere ich Subarray-Elemente in einem mehrdimensionalen Array in PHP neu?

Wie indiziere ich Subarray-Elemente in einem mehrdimensionalen Array in PHP neu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 00:58:01583Durchsuche

How to Re-index Subarray Elements in a Multidimensional Array in PHP?

Neuindizierung mehrdimensionaler Array-Subarray-Elemente

In PHP werden Arrays häufig zum Speichern komplexer Datenstrukturen, einschließlich mehrdimensionaler Arrays, verwendet. Manchmal ist es notwendig, die Schlüssel der Unterarrays innerhalb eines mehrdimensionalen Arrays zurückzusetzen.

Betrachten Sie beispielsweise das folgende mehrdimensionale Array mit nicht sequentiellen Schlüsseln:

Array (
    [1_Name] => Array (
        [1] => leo
        [4] => NULL
    )
    [1_Phone] => Array (
        [1] => 12345
        [4] => 434324
    )
)

Das Ziel ist Setzen Sie die Schlüssel der Subarrays zurück, um bei Null zu beginnen:

Array (
    [1_Name] => Array (
        [0] => leo
        [1] => NULL
    )
    [1_Phone] => Array (
        [0] => 12345
        [1] => 434324
    )
)

Lösung

Um die Schlüssel aller Subarrays im mehrdimensionalen Array zurückzusetzen, können Sie array_map verwenden ()-Funktion zusammen mit der Funktion array_values():

<code class="php">$arr = array_map('array_values', $arr);</code>

Die Funktion array_values() gibt ein neues Array mit aufeinanderfolgenden Zifferntasten aus dem Eingabearray zurück, wodurch die Tasten effektiv zurückgesetzt werden. Die Funktion array_map() wendet die Funktion array_values() auf jedes Unterarray im ursprünglichen Array an, was zu einem neuen mehrdimensionalen Array mit neu indizierten Unterarrays führt.

Hinweis:

Wenn Sie nur die Schlüssel der Subarrays der ersten Ebene zurücksetzen möchten, ohne die Neuindizierung auf verschachtelte Subarrays anzuwenden, können Sie array_values() direkt verwenden, ohne array_map() zu verwenden:

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

Das obige ist der detaillierte Inhalt vonWie indiziere ich Subarray-Elemente in einem mehrdimensionalen Array in PHP neu?. 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