Home >Backend Development >PHP Problem >How to convert 2D array to 1D array using PHP
In PHP, a two-dimensional array is an array composed of multiple one-dimensional arrays, which is a very common data structure in programming. However, in some specific scenarios, we may need to convert a two-dimensional array into a one-dimensional array to facilitate program use and processing.
Below, I will introduce how to use PHP to convert a two-dimensional array into a one-dimensional array.
1. Use foreach loop
The most common method is to use foreach loop to extract each element of the two-dimensional array and store it in a new one-dimensional array.
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array(); foreach ($array as $value) { foreach ($value as $val) { $newArray[] = $val; } } print_r($newArray);
Output result:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
2. Use array_reduce function
We can also use PHP's array_reduce function to process two-dimensional arrays.
$array = array( array('id' => 1, 'name' => 'Tom'), array('id' => 2, 'name' => 'Jerry') ); $newArray = array_reduce($array, function ($result, $item) { return array_merge($result, array_values($item)); }, array()); print_r($newArray);
Output result:
Array ( [0] => 1 [1] => Tom [2] => 2 [3] => Jerry )
3. Use array_column function
If we only need to extract a certain column in the two-dimensional array, we can use PHP's array_column function.
$array = array( array('id' => 1, 'name' => 'Tom', 'age' => 18), array('id' => 2, 'name' => 'Jerry', 'age' => 20) ); $newArray = array_column($array, 'name'); print_r($newArray);
Output result:
Array ( [0] => Tom [1] => Jerry )
4. Use the function to recursively convert the array
If the nested dimensions of the two-dimensional array are not fixed, we can use the recursive function to convert.
$array = array( array('id' => 1, 'name' => 'Tom', 'languages' => array('PHP', 'Java')), array('id' => 2, 'name' => 'Jerry', 'languages' => array('Python', 'C++')) ); function convert($array) { $newArray = array(); foreach ($array as $value) { if (is_array($value)) { $newArray = array_merge($newArray, convert($value)); } else { $newArray[] = $value; } } return $newArray; } $newArray = convert($array); print_r($newArray);
Output result:
Array ( [0] => 1 [1] => Tom [2] => PHP [3] => Java [4] => 2 [5] => Jerry [6] => Python [7] => C++ )
The above are several methods of converting two-dimensional arrays into one-dimensional arrays. Choosing the appropriate method according to the actual situation can greatly improve the efficiency and readability of the code. .
The above is the detailed content of How to convert 2D array to 1D array using PHP. For more information, please follow other related articles on the PHP Chinese website!