Home >Backend Development >PHP Problem >How to loop output three-dimensional array in php

How to loop output three-dimensional array in php

王林
王林Original
2023-05-11 10:34:36662browse

In PHP, looping to output a three-dimensional array requires certain steps and skills, but it is not difficult to implement. This article will introduce the use of for loop, foreach loop, array_walk_recursive function and recursive method to loop and output a three-dimensional array.

1. Use the for loop to output a three-dimensional array

In PHP, we can use the for loop combined with the count function to loop and output each element of the three-dimensional array. The sample code is as follows:

<?php
$arr = array(
    array(
        array('a', 'b', 'c'),
        array('d', 'e', 'f')
    ),
    array(
        array('g', 'h', 'i'),
        array('j', 'k', 'l')
    )
);

for ($i = 0; $i < count($arr); $i++) {
    for ($j = 0; $j < count($arr[$i]); $j++) {
        for ($k = 0; $k < count($arr[$i][$j]); $k++) {
            echo $arr[$i][$j][$k] . ' ';
        }
        echo '<br>';
    }
    echo '<br>';
}
?>

In this code, we define a three-dimensional array $arr, and traverse the three dimensions of the array through three for loops to achieve loop output.

2. Use foreach to loop and output a three-dimensional array

In PHP, using foreach to loop through an array is a very common operation, and it can also be used to output a three-dimensional array in a loop. The sample code is as follows:

<?php
$arr = array(
    array(
        array('a', 'b', 'c'),
        array('d', 'e', 'f')
    ),
    array(
        array('g', 'h', 'i'),
        array('j', 'k', 'l')
    )
);

foreach ($arr as $element1) {
    foreach ($element1 as $element2) {
        foreach ($element2 as $element3) {
            echo $element3 . ' ';
        }
        echo '<br>';
    }
    echo '<br>';
}
?>

In this code, we also use three foreach loops to traverse the three dimensions of the array layer by layer to achieve loop output.

3. Use the array_walk_recursive function to output a three-dimensional array

PHP provides the array_walk_recursive function, which can recursively traverse each element of a multi-dimensional array, which is very convenient. The following is a sample code that uses the array_walk_recursive function to realize the loop output of a three-dimensional array:

<?php
$arr = array(
    array(
        array('a', 'b', 'c'),
        array('d', 'e', 'f')
    ),
    array(
        array('g', 'h', 'i'),
        array('j', 'k', 'l')
    )
);

function printArray($value, $key) {
    echo $value . ' ';
}

array_walk_recursive($arr, 'printArray');
?>

In this code, we define a printArray function as a callback function, and then use the array_walk_recursive function to recursively traverse the three-dimensional array and add each elements are passed to the printArray function for output.

4. Use the recursive method to output a three-dimensional array

The recursive method can simplify the loop processing of multi-dimensional arrays. The following is a sample code for recursively traversing and outputting a three-dimensional array:

<?php
$arr = array(
    array(
        array('a', 'b', 'c'),
        array('d', 'e', 'f')
    ),
    array(
        array('g', 'h', 'i'),
        array('j', 'k', 'l')
    )
);

function printArray($arr) {
    foreach ($arr as $element) {
        if (is_array($element)) {
            printArray($element);
        } else {
            echo $element . ' ';
        }
    }
    echo '<br>';
}

printArray($arr);
?>

In this code, we define a printArray function to handle recursive traversal. First, determine whether the currently traversed element is an array. If so, call the printArray function to perform recursive traversal. If not, output the element directly.

Summary

Loop output of a three-dimensional array can be implemented using for loop, foreach loop, array_walk_recursive function and recursive method. Just choose the appropriate method according to actual needs. It should be noted that when processing multi-dimensional arrays, special attention should be paid to the number of layers traversed and the order of loops to ensure the correctness of the output.

The above is the detailed content of How to loop output three-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn