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
700 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!

source:php.cn
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