Maison  >  Article  >  développement back-end  >  Comment accéder efficacement aux tableaux imbriqués en PHP avec différentes approches ?

Comment accéder efficacement aux tableaux imbriqués en PHP avec différentes approches ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-17 22:04:02162parcourir

How to Effectively Access Nested Arrays in PHP with Different Approaches?

PHP foreach with Nested Arrays

For this scenario, where you aim to access the values of a nested array, the foreach loop is an effective tool. To understand its usage, consider this example:

<code class="php">$tmpArray = [
    [
        'one',
        [1, 2, 3]
    ],
    [
        'two',
        [4, 5, 6]
    ],
    [
        'three',
        [7, 8, 9]
    ]
];</code>

To iterate through the nested array's values, use the following nested foreach loops:

<code class="php">foreach ($tmpArray as $innerArray) {
    if (is_array($innerArray)) {
        foreach ($innerArray as $value) {
            echo $value;
        }
    } else {
        echo $innerArray;
    }
}</code>

This approach allows you to handle both array and non-array elements within the nested array.

If you don't know the depth of your nested array, recursion is an alternative method. This code will recursively display array members with indentation:

<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";
            }
        }
    }
}</code>

For your specific case, where you want to display values from the third level only, you can modify the code as follows:

<code class="php">foreach ($tmpArray as $inner) {

    if (is_array($inner)) {
        foreach ($inner[1] as $value) {
           echo "$value \n";
        }
    }
}</code>

This approach will display values from the nested array at the third level, i.e., [1, 2, 3], [4, 5, 6], and [7, 8, 9].

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