PHP에서 foreach를 사용하여 특정 인덱스의 중첩 배열에 액세스하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-17 22:07:02
원래의
575명이 탐색했습니다.

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

중첩 배열을 사용한 PHP foreach

질문: PHP에서 foreach 루프를 사용하여 특정 중첩 배열에 액세스하는 방법 ?

다음 중첩 배열을 고려하세요.

<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>
로그인 후 복사

목표는 변수 비교를 사용하지 않고 키 1에 있는 중첩 배열의 값을 반복하는 것입니다.

답변: 이를 달성하기 위한 두 가지 접근 방식이 있습니다.

1. 중첩 루프(고정 깊이):

이 방법은 중첩 배열의 깊이를 미리 알고 있는 경우에 적합합니다.

<code class="php">foreach ($tmpArray as $innerArray) {
    if (is_array($innerArray)) {
        foreach ($innerArray as $value) {
            echo $value;
        }
    } else {
        echo $innerArray;
    }
}</code>
로그인 후 복사

2. 재귀 함수(깊이를 알 수 없음):

이 접근 방식은 중첩 배열의 깊이를 알 수 없는 경우에 사용됩니다. 여기에는 배열을 순회하는 재귀 함수가 포함됩니다.

<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>
로그인 후 복사

특정 사례:

세 번째 수준(키 2)에 대한 값이 있는 중첩 배열에만 액세스하려면 , 다음 코드를 사용하세요:

<code class="php">foreach ($tmpArray as $inner) {
    if (is_array($inner)) {
        foreach ($inner[1] as $value) {
            echo "$value \n";
        }
    }
}</code>
로그인 후 복사

위 내용은 PHP에서 foreach를 사용하여 특정 인덱스의 중첩 배열에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!