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!