Home > Article > Backend Development > How to convert a two-dimensional array into a one-dimensional array in php
During development, you may encounter the need to convert a two-dimensional array into a one-dimensional array. This article will introduce how to perform this operation in PHP.
A two-dimensional array in PHP is an array composed of multiple one-dimensional arrays, while a one-dimensional array is an array composed of a single value. Therefore, to convert a two-dimensional array into a one-dimensional array, you need to extract all the values in the one-dimensional array and then put them into the new one-dimensional array.
1. Use a loop to traverse a two-dimensional array
In PHP, you can use a loop to traverse a two-dimensional array and add the values to a new one-dimensional array. The specific implementation is as follows:
$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array(); foreach ($multiArr as $arr) { foreach ($arr as $value) { $singleArr[] = $value; } } print_r($singleArr);
In the above code, a two-dimensional array $multiArr
is first defined, which contains two one-dimensional arrays. Then create an empty one-dimensional array $singleArr
, and then use two nested foreach
to loop through each one-dimensional array in $multiArr
and among them value and adds the value to $singleArr
. Finally, use the print_r()
function to print out $singleArr
, and the output result is:
Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
2. Use the call_user_func_array()
function
In addition to looping, you can also use the call_user_func_array()
function to convert a multi-dimensional array into a one-dimensional array. The specific code is as follows:
$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = call_user_func_array('array_merge', $multiArr); print_r($singleArr);
In the above code, a two-dimensional array $multiArr
is first defined, which contains two one-dimensional arrays. Then use the call_user_func_array()
function. The first parameter is the array_merge
function name, which means that the merge operation is to be performed. The second parameter is the $multiArr
array, which means Multiple arrays to merge. The combined new array is the one-dimensional array $singleArr
. Finally, use the print_r()
function to print out $singleArr
, and the output result is:
Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
3. Use the array_reduce()
function
In addition to the above two methods, you can also use the array_reduce()
function to convert a two-dimensional array into a one-dimensional array. The specific implementation is as follows:
$multiArr = array(array('apple', 'banana', 'pear'), array('cat', 'dog', 'lion')); $singleArr = array_reduce($multiArr, 'array_merge', array()); print_r($singleArr);
In the above code, a two-dimensional array $multiArr
is first defined, which contains two one-dimensional arrays. Then use the array_reduce()
function. The first parameter is the $multiArr
array, indicating the array to be merged. The second parameter is the array_merge
function name. , indicating that a merge operation is to be performed, and the third parameter is an empty array, indicating that the initial one-dimensional array is an empty array. Finally, store the combined new array into the one-dimensional array $singleArr
, and use the print_r()
function to print the output result. The output result is the same as the first two methods:
Array ( [0] => apple [1] => banana [2] => pear [3] => cat [4] => dog [5] => lion )
4. Summary
In this article, three methods of converting two-dimensional arrays into one-dimensional arrays are introduced. In actual development, you can choose the appropriate method according to your needs. For simple two-dimensional arrays, the first method of loop traversal may be easier to understand and implement; for more complex multi-dimensional arrays, the call_user_func_array()
function and the array_reduce()
function Might be more convenient.
The above is the detailed content of How to convert a two-dimensional array into a one-dimensional array in php. For more information, please follow other related articles on the PHP Chinese website!