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

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

DDD
DDDOriginal
2024-11-05 07:47:01671Durchsuche

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

Subarray-Elemente in einem mehrdimensionalen Array neu indizieren

Das Zurücksetzen der Schlüssel von Subarrays in einem mehrdimensionalen Array kann eine häufige Aufgabe in PHP sein. Dieser Artikel befasst sich mit der Frage, wie dieses Ziel erreicht werden kann.

Problem:

Betrachten Sie die folgende Anordnung:

<code class="php">Array (
    [1_Name] => Array (
        [1] => leo
        [4] => NULL
    )
    [1_Phone] => Array (
        [1] => 12345
        [4] => 434324
    )  
)</code>

Die Aufgabe besteht darin, Indizieren Sie die Unterarrays wie folgt neu:

<code class="php">Array (
    [1_Name] => Array (
        [0] => leo
        [1] => NULL
    )
    [1_Phone] => Array (
        [0] => 12345
        [1] => 434324
    )
)</code>

Lösung:

Um die Schlüssel aller Arrays in einem Array zurückzusetzen, können Sie den folgenden Code verwenden:

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

Wenn Sie nur die Array-Schlüssel der ersten Ebene zurücksetzen möchten, können Sie array_values() ohne array_map verwenden:

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

Erklärung:

Die Funktion array_map() wendet eine benutzerdefinierte Funktion auf jedes Element eines Arrays an. In diesem Fall ist die benutzerdefinierte Funktion array_values, die ein Array mit den Werten des Eingabearrays zurückgibt. Indem wir array_values ​​auf jedes Unterarray des ursprünglichen Arrays anwenden, setzen wir die Schlüssel dieser Unterarrays effektiv zurück.

Die Funktion array_values() gibt ein neues Array zurück, das die Werte des Eingabearrays enthält. Bei Verwendung in einem mehrdimensionalen Array wird ein Array von Arrays zurückgegeben, wobei jedes Subarray die Werte des entsprechenden Subarrays aus dem Eingabearray enthält. Indem wir das Ergebnis von array_values() der ursprünglichen Array-Variablen zuweisen, setzen wir die Schlüssel der Unterarrays im ursprünglichen Array effektiv zurück.

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