Heim >Backend-Entwicklung >PHP-Tutorial >Wie indiziere ich Subarray-Elemente in mehrdimensionalen Arrays neu?

Wie indiziere ich Subarray-Elemente in mehrdimensionalen Arrays neu?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-05 14:50:03725Durchsuche

How to Re-index Subarray Elements in Multidimensional Arrays?

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!

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