Home >Backend Development >PHP Problem >How to use loop to output three-dimensional array in PHP
When developing and writing PHP programs, we often need to traverse the elements in the array, process them and present them to the front-end page. In this process, sometimes we may encounter a three-dimensional array, that is, a nested array also contains an array. How to use a loop to output such a three-dimensional array? We will discuss this in detail below.
Before we start to explain the loop output of three-dimensional arrays, we need to first understand the structure of three-dimensional arrays. A three-dimensional array is composed of multiple two-dimensional arrays, and each two-dimensional array contains multiple single-element arrays. An example is as follows:
$three_dimensional_array = array( array( array(1, 2, 3), array(4, 5, 6), array(7, 8, 9) ), array( array(10, 11, 12), array(13, 14, 15), array(16, 17, 18) ), array( array(19, 20, 21), array(22, 23, 24), array(25, 26, 27) ) );
As you can see, in this three-dimensional array, we have a total of three two-dimensional arrays, and each two-dimensional array has three single-element arrays.
To loop through all the elements in a three-dimensional array, we can use PHP's built-in foreach loop statement. The example is as follows:
foreach ($three_dimensional_array as $two_dimensional_array) { foreach ($two_dimensional_array as $single_element_array) { foreach ($single_element_array as $value) { echo $value . ' '; } } }
In this example, we use three nested foreach loop statements to traverse the two-dimensional array and single-element array in the three-dimensional array respectively, and finally output all the elements in the three-dimensional array. element.
Another commonly used loop traversal method is to use a for loop statement. However, since there are multiple levels of arrays nested in the three-dimensional array, using a for loop may be a little cumbersome. An example is as follows:
for ($i = 0; $i < count($three_dimensional_array); $i++) { $two_dimensional_array = $three_dimensional_array[$i]; for ($j = 0; $j < count($two_dimensional_array); $j++) { $single_element_array = $two_dimensional_array[$j]; for ($k = 0; $k < count($single_element_array); $k++) { echo $single_element_array[$k] . ' '; } } }
In this example, we use a three-level nested for loop to traverse all the elements in the three-dimensional array and output them to the front-end page.
In addition to using foreach and for loop statements, PHP also provides a function that directly traverses all multi-dimensional array elements, which is array_walk_recursive(). The example is as follows:
function output_single_element($value, $key) { echo $value . ' '; } array_walk_recursive($three_dimensional_array, 'output_single_element');
In this example, we define a callback function named output_single_element, which is used to output the value of a single element in the array. Then, we used the array_walk_recursive() function to traverse the entire three-dimensional array, and called the callback function output_single_element() each time it traversed to a single array element to output it to the front-end page.
This article introduces three commonly used loop statements and functions to output all elements in a nested three-dimensional array. No matter which method is used, the key point is to clarify the structure of the three-dimensional array and the array boundaries of each layer, and then use the traversal method to output the elements in the array.
The above is the detailed content of How to use loop to output three-dimensional array in PHP. For more information, please follow other related articles on the PHP Chinese website!