Maison  >  Article  >  développement back-end  >  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
Mary-Kate Olsenoriginal
2024-10-17 22:07:02576parcourir

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>

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>

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>

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>

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:
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