Heim > Artikel > Backend-Entwicklung > Wie indiziere ich Subarray-Elemente in einem mehrdimensionalen Array in PHP neu?
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!