首頁  >  文章  >  後端開發  >  如何透過不同的方法有效存取 PHP 中的巢狀數組?

如何透過不同的方法有效存取 PHP 中的巢狀數組?

Susan Sarandon
Susan Sarandon原創
2024-10-17 22:04:02159瀏覽

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].

以上是如何透過不同的方法有效存取 PHP 中的巢狀數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn