Maison > développement back-end > tutoriel php > Comment accéder à un tableau imbriqué à un index spécifique en utilisant foreach en PHP ?

Comment accéder à un tableau imbriqué à un index spécifique en utilisant foreach en PHP ?

Mary-Kate Olsen
Libérer: 2024-10-17 22:07:02
original
720 Les gens l'ont consulté

How to Access a Nested Array at a Specific Index Using foreach in PHP?

PHP foreach avec Nested Array

Question : Comment accéder à un tableau imbriqué spécifique à l'aide d'une boucle foreach en PHP ?

Considérons le tableau imbriqué suivant :

<code class="php">array(
    [0] => array(
        [0] => one
        [1] => array(
            [0] => 1
            [1] => 2
            [2] => 3
            )
        )

    [1] => array(
        [0] => two
        [1] => array(
            [0] => 4
            [1] => 5
            [2] => 6
            )
        )

    [2] => array(
        [0] => three
        [1] => array(
            [0] => 7
            [1] => 8
            [2] => 9
            )
        )
    )
);</code>
Copier après la connexion

Le but est de parcourir les valeurs du tableau imbriqué à la clé 1, sans utiliser de comparaison de variables.

Réponse :Il existe deux approches pour y parvenir :

1. Boucles imbriquées (profondeur fixe) :

Cette méthode convient si la profondeur des tableaux imbriqués est connue à l'avance.

<code class="php">foreach ($tmpArray as $innerArray) {
    if (is_array($innerArray)) {
        foreach ($innerArray as $value) {
            echo $value;
        }
    } else {
        echo $innerArray;
    }
}</code>
Copier après la connexion

2. Fonction récursive (profondeur inconnue) :

Cette approche est utilisée lorsque la profondeur des tableaux imbriqués est inconnue. Il s'agit d'une fonction récursive qui parcourt le tableau :

<code class="php">function displayArrayRecursively($arr, $indent='') {
    if ($arr) {
        foreach ($arr as $value) {
            if (is_array($value)) {
                displayArrayRecursively($value, $indent . '--');
            } else {
                echo "$indent $value \n";
            }
        }
    }
}

$tmpArray = array(
    array("one", array(1, 2, 3)),
    array("two", array(4, 5, 6)),
    array("three", array(7, 8, 9))
);

displayArrayRecursively($tmpArray);</code>
Copier après la connexion

Cas spécifique :

Pour accéder uniquement au tableau imbriqué avec les valeurs du troisième niveau (clé 2) , utilisez le code suivant :

<code class="php">foreach ($tmpArray as $inner) {
    if (is_array($inner)) {
        foreach ($inner[1] as $value) {
            echo "$value \n";
        }
    }
}</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