Réindexation des éléments de sous-tableaux de tableaux multidimensionnels
En PHP, les tableaux sont souvent utilisés pour stocker des structures de données complexes, y compris des tableaux multidimensionnels. Parfois, il devient nécessaire de réinitialiser les clés des sous-tableaux au sein d'un tableau multidimensionnel.
Par exemple, considérons le tableau multidimensionnel suivant avec des clés non séquentielles :
Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )
Le but est de réinitialiser les clés des sous-tableaux pour repartir de zéro :
Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )
Solution
Pour réinitialiser les clés de tous les sous-tableaux du tableau multidimensionnel, vous pouvez utiliser le array_map () avec la fonction array_values() :
<code class="php">$arr = array_map('array_values', $arr);</code>
La fonction array_values() renvoie un nouveau tableau avec des touches numériques séquentielles à partir du tableau d'entrée, réinitialisant ainsi les clés. La fonction array_map() applique la fonction array_values() à chaque sous-tableau du tableau d'origine, ce qui donne un nouveau tableau multidimensionnel avec des sous-tableaux réindexés.
Remarque :
Si vous souhaitez uniquement réinitialiser les clés des sous-tableaux de premier niveau sans appliquer la réindexation aux sous-tableaux imbriqués, vous pouvez utiliser array_values() directement sans utiliser array_map() :
<code class="php">$arr = array_values($arr);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!