Maison > développement back-end > tutoriel php > Comment réindexer les éléments d'un sous-tableau dans un tableau multidimensionnel en PHP ?

Comment réindexer les éléments d'un sous-tableau dans un tableau multidimensionnel en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-05 00:58:01
original
741 Les gens l'ont consulté

How to Re-index Subarray Elements in a Multidimensional Array in PHP?

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
    )
)
Copier après la connexion

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
    )
)
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal