Heim >Backend-Entwicklung >PHP-Tutorial >Wie indiziere ich Subarray-Elemente in mehrdimensionalen Arrays neu?
Subarray-Elemente in mehrdimensionalen Arrays neu indizieren
In mehrdimensionalen Arrays kann das Zurücksetzen von Schlüsselindizes nützlich sein, um eine vorhersehbare Reihenfolge beizubehalten oder Werte auszurichten mit anderen Arrays.
Problem:
Wie setzt man die Schlüssel von Unterarrays innerhalb eines mehrdimensionalen Arrays zurück und nummeriert sie fortlaufend von Null an? Betrachten Sie das folgende Beispiel:
<code class="php">$arr = [ '1_Name' => [ 1 => 'leo', 4 => null ], '1_Phone' => [ 1 => 12345, 4 => 434324 ] ]; // Expected output: // Array ( // [1_Name] => [ // 0 => 'leo', // 1 => null // ] // [1_Phone] => [ // 0 => 12345, // 1 => 434324 // ] // )</code>
Lösung:
Um dies zu erreichen, können Sie den folgenden Ansatz verwenden:
<code class="php">$arr = array_map('array_values', $arr);</code>
Die array_map ()-Funktion wendet die Funktion array_values() auf jedes Unterarray innerhalb von $arr an. array_values() indiziert die Schlüssel des Subarrays sequentiell von Null an neu.
<code class="php">// array_values() for first-level arrays only $arr = array_values($arr);</code>
Für das Zurücksetzen von Array-Schlüsseln der ersten Ebene können Sie array_values() ohne array_map() verwenden.
Das obige ist der detaillierte Inhalt vonWie indiziere ich Subarray-Elemente in mehrdimensionalen Arrays neu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!