Home  >  Article  >  Backend Development  >  How to convert a two-dimensional array into a one-dimensional array in php

How to convert a two-dimensional array into a one-dimensional array in php

PHPz
PHPzOriginal
2023-04-26 14:18:52789browse

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!

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