Home  >  Article  >  Backend Development  >  php converts two-dimensional array to one-dimensional

php converts two-dimensional array to one-dimensional

WBOY
WBOYOriginal
2023-05-06 12:38:08663browse

In PHP programming, sometimes we need to convert a two-dimensional array into a one-dimensional array, which allows us to process data more conveniently and achieve more complex functions. This article will introduce how to convert a two-dimensional array in PHP into a one-dimensional array.

1. Definition of array

In PHP, array is a common data type that can store multiple values. We can define a two-dimensional array in the following way:

$array = array(
    array('name' => 'Tom', 'age' => 18),
    array('name' => 'Lily', 'age' => 20),
    array('name' => 'John', 'age' => 22),
);

The two-dimensional array defined here contains three elements, and each element contains two key-value pairs, namely name and age.

2. Use foreach loop to convert into a one-dimensional array

Using the foreach loop can easily convert a two-dimensional array into a one-dimensional array. The specific method is as follows:

$newArr = array();

foreach ($array as $value) {
    $newArr = array_merge($newArr, $value);
}

print_r($newArr);

In the above code, we first define an empty array $newArr to store the converted one-dimensional array. Then use a foreach loop to iterate through each element in the two-dimensional array $array and merge each element into $newArr.

Finally, we can view the converted one-dimensional array through the print_r() function:

Array
(
    [name] => John
    [age] => 22
)

As you can see from the results, the converted array only contains the value of the last element . This is because when you use the array_merge() function to merge arrays, if there are duplicate key values, the later values ​​will overwrite the previous values.

3. Use while loop to convert into one-dimensional array

In addition to using foreach loop, we can also use while loop to convert two-dimensional array into one-dimensional array. The specific method is as follows:

$newArr = array();

while ($value = array_shift($array)) {
    $newArr = array_merge($newArr, $value);
}

print_r($newArr);

In the above code, we use a while loop to continuously take out the first element of the $array array and merge it into the $newArr array until the $array array is empty. cycle. Similar to the foreach loop, we also use the array_merge() function to merge arrays.

Finally, we can use the print_r() function again to view the converted one-dimensional array:

Array
(
    [name] => John
    [age] => 22
)

The conversion result is the same as using a foreach loop.

4. Notes

In the process of converting a two-dimensional array into a one-dimensional array, you need to pay attention to some details. The details are as follows:

  1. If there are duplicate key values ​​in the two-dimensional array, when the array_merge() function is used to merge the arrays, the later values ​​will overwrite the previous values. Therefore, when merging arrays, judgment needs to be made based on the actual situation.
  2. If the key value of each element in the two-dimensional array is different, converting it into a one-dimensional array may result in the loss of some information. Therefore, before performing array conversion, it is necessary to clearly understand the structure and characteristics of each element in the two-dimensional array.

5. Summary

This article introduces the method of converting a two-dimensional array in PHP into a one-dimensional array, including using a foreach loop and a while loop. In actual development, we can make choices based on specific circumstances to achieve optimal results.

The above is the detailed content of php converts two-dimensional array to one-dimensional. 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