ホームページ  >  記事  >  バックエンド開発  >  PHP で foreach を使用して、特定のインデックスでネストされた配列にアクセスする方法

PHP で foreach を使用して、特定のインデックスでネストされた配列にアクセスする方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-17 22:07:02576ブラウズ

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 でネストされた配列の値を反復処理することです。

答え: これを達成するには、2 つのアプローチがあります:

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>

特定のケース:

第 3 レベル (キー 2) の値を持つネストされた配列のみにアクセスする場合、次のコードを使用します:

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

以上がPHP で foreach を使用して、特定のインデックスでネストされた配列にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。