Réindexation des éléments de sous-tableau dans un tableau multidimensionnel
Réinitialiser les clés des sous-tableaux dans un tableau multidimensionnel peut être une tâche courante en PHP. Cet article aborde la question de savoir comment atteindre cet objectif.
Problème :
Considérez le tableau suivant :
<code class="php">Array ( [1_Name] => Array ( [1] => leo [4] => NULL ) [1_Phone] => Array ( [1] => 12345 [4] => 434324 ) )</code>
La tâche est de réindexer les sous-tableaux comme suit :
<code class="php">Array ( [1_Name] => Array ( [0] => leo [1] => NULL ) [1_Phone] => Array ( [0] => 12345 [1] => 434324 ) )</code>
Solution :
Pour réinitialiser les clés de tous les tableaux d'un tableau, vous pouvez utiliser le code suivant :
<code class="php">$arr = array_map('array_values', $arr);</code>
Si vous souhaitez uniquement réinitialiser les clés du tableau de premier niveau, vous pouvez utiliser array_values() sans array_map :
<code class="php">$arr = array_values($arr);</code>
Explication :
La fonction array_map() applique une fonction définie par l'utilisateur à chaque élément d'un tableau. Dans ce cas, la fonction définie par l'utilisateur est array_values, qui renvoie un tableau avec les valeurs du tableau d'entrée. En appliquant array_values à chaque sous-tableau du tableau d'origine, nous réinitialisons efficacement les clés de ces sous-tableaux.
La fonction array_values() renvoie un nouveau tableau qui contient les valeurs du tableau d'entrée. Lorsqu'il est utilisé sur un tableau multidimensionnel, il renvoie un tableau de tableaux, où chaque sous-tableau contient les valeurs du sous-tableau correspondant du tableau d'entrée. En attribuant le résultat de array_values() à la variable du tableau d'origine, nous réinitialisons effectivement les clés des sous-tableaux dans le tableau d'origine.
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!