Home >Backend Development >PHP Problem >How to convert two-dimensional array to one-dimensional array in php
In PHP, two-dimensional array is a very common data structure. But in some cases, it is necessary to convert a two-dimensional array into a one-dimensional array. This article discusses several ways of achieving this functionality.
Method 1: Use foreach loop
One of the most basic methods is to use a foreach loop to traverse the entire two-dimensional array and append each value to the one-dimensional array. The code is as follows:
$twoDimensionalArray = array( array('fruit'=>'apple', 'color'=>'red'), array('fruit'=>'banana', 'color'=>'yellow'), array('fruit'=>'grape', 'color'=>'purple') ); $oneDimensionalArray = array(); foreach($twoDimensionalArray as $key=>$value){ foreach($value as $k=>$v){ $oneDimensionalArray[] = $v; } } print_r($oneDimensionalArray); //输出结果如下: Array ( [0] => apple [1] => red [2] => banana [3] => yellow [4] => grape [5] => purple )
Method 2: Use the array_merge function
Another method is to use the array_merge function, which merges two or more arrays into one array. Using this function, you can convert each 2D array row to a 1D array and merge them into a single array. The code is as follows:
$twoDimensionalArray = array( array('fruit'=>'apple', 'color'=>'red'), array('fruit'=>'banana', 'color'=>'yellow'), array('fruit'=>'grape', 'color'=>'purple') ); $oneDimensionalArray = array(); foreach($twoDimensionalArray as $value){ $oneDimensionalArray = array_merge($oneDimensionalArray, array_values($value)); } print_r($oneDimensionalArray); //输出结果如下: Array ( [0] => apple [1] => red [2] => banana [3] => yellow [4] => grape [5] => purple )
Method Three: Using the array_reduce function
The last method is to use the array_reduce function, which applies a callback function to each value in the array and returns a single value. In this example, you can use the array_reduce function to convert each row of a two-dimensional array into a one-dimensional array, and merge the one-dimensional arrays of all rows into one large array. The code is as follows:
$twoDimensionalArray = array( array('fruit'=>'apple', 'color'=>'red'), array('fruit'=>'banana', 'color'=>'yellow'), array('fruit'=>'grape', 'color'=>'purple') ); $oneDimensionalArray = array_reduce($twoDimensionalArray,function($carry,$item){ return array_merge($carry,array_values($item)); },array()); print_r($oneDimensionalArray); //输出结果如下: Array ( [0] => apple [1] => red [2] => banana [3] => yellow [4] => grape [5] => purple )
Summary:
The above three methods can help us convert a two-dimensional array into a one-dimensional array. If you are dealing with large amounts of data, you may want to test their performance and efficiency. Choose the method that best suits our task by comparing their performance and suitability.
The above is the detailed content of How to convert two-dimensional array to one-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!