"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como fazer loop em arrays aninhados e exibir valores específicos em PHP?

Como fazer loop em arrays aninhados e exibir valores específicos em PHP?

Publicado em 2024-11-08
Navegar:190

How to Loop Through Nested Arrays and Display Specific Values in PHP?

PHP foreach com nested array: um guia abrangente

Em PHP, navegar por arrays aninhados pode ser um desafio comum. Esta discussão se concentra em um cenário específico onde você pretende exibir um subconjunto de uma matriz aninhada, especificamente os valores dentro da segunda matriz aninhada.

Usando foreach com matrizes aninhadas

Para lidar com matrizes aninhadas com foreach, você pode empregar a seguinte abordagem:

Exemplo:

$tmpArray = [
    [
        "one",
        [1, 2, 3]
    ],
    [
        "two",
        [4, 5, 6]
    ],
    [
        "three",
        [7, 8, 9]
    ]
];

foreach ($tmpArray as $innerArray) {
    if (is_array($innerArray)) {
        foreach ($innerArray as $value) {
            echo $value;
        }
    } else {
        echo $innerArray;
    }
}

Solução recursiva para profundidade desconhecida

Se não tiver certeza da profundidade do aninhamento em sua matriz, você pode empregar uma solução recursiva:

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

Caso específico: exibindo apenas o terceiro nível

No seu caso específico, você deseja exibir apenas os valores da matriz aninhada de terceiro nível:

foreach ($tmpArray as $inner) {
    if (is_array($inner)) {
        foreach ($inner[1] as $value) {
            echo "$value \n";
        }
    }
}
Declaração de lançamento Este artigo foi reimpresso em: 1729173736 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3