Home >Backend Development >PHP Problem >Let's talk about the conversion method of two-dimensional array in php

Let's talk about the conversion method of two-dimensional array in php

PHPz
PHPzOriginal
2023-03-24 16:11:411380browse

In PHP, array is a very common data structure and an important tool for processing data. In practical applications, we often need to convert a two-dimensional array into another form of array. This process requires some skills and methods. This article will introduce you to how to achieve two-dimensional array conversion.

1. Definition of two-dimensional array

First of all, we need to understand what a two-dimensional array is. In PHP, a two-dimensional array is composed of multiple one-dimensional arrays. Each one-dimensional array represents a row of data in a two-dimensional array.

For example, the following two-dimensional array contains three one-dimensional arrays, representing three rows of data respectively:

$arr = array(
  array(1,2,3),
  array(4,5,6),
  array(7,8,9)
);

2. Convert two-dimensional arrays into one-dimensional arrays

Sometimes, we need to convert a two-dimensional array into a one-dimensional array. At this time, you can use the array_reduce() function in PHP.

The array_reduce() function can receive an array and iterate over it. We can use this function to merge multiple one-dimensional arrays into a single one-dimensional array. The specific operation is as follows:

//将二维数组转化为一维数组
$new_arr = array_reduce($arr, 'array_merge', array());
print_r($new_arr);

This code first defines a new empty array $new_arr, and then uses the array_reduce() function to merge all one-dimensional arrays in the original two-dimensional array $arr into $new_arr. , and return.

In the above example, the value of $new_arr is:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )

3. Merge two-dimensional arrays by rows

There is also a common The situation is that multiple two-dimensional arrays need to be merged into one two-dimensional array row by row. This operation is also relatively simple and can be completed using the array_merge() function in PHP.

The following is an example:

$arr1 = array(
  array(1,2,3),
  array(4,5,6)
);
 
$arr2 = array(
  array(7,8,9),
  array(10,11,12)
);
 
//按行合并两个二维数组
$new_arr = array_merge($arr1, $arr2);
print_r($new_arr);

In the above example, the value of $new_arr is:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )
 
    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )
 
    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
        )
 
    [3] => Array
        (
            [0] => 10
            [1] => 11
            [2] => 12
        )
)

4. Convert the two-dimensional array to json format

In JavaScript, JSON is a common data format. In PHP, we can easily use the json_encode() function to convert a two-dimensional array into a JSON format string. The following is an example:

$arr = array(
  array('id'=>1, 'name'=>'Tom', 'age'=>25),
  array('id'=>2, 'name'=>'Jack', 'age'=>30),
  array('id'=>3, 'name'=>'Mike', 'age'=>35)
);
 
//将二维数组转化为json格式
$json_str = json_encode($arr);
echo $json_str;

In the above example, the value of $json_str is:

[
    {"id":1,"name":"Tom","age":25},
    {"id":2,"name":"Jack","age":30},
    {"id":3,"name":"Mike","age":35}
]

5. Summary

Introduction to this article Several methods of converting two-dimensional arrays in PHP are described, including converting two-dimensional arrays into one-dimensional arrays, merging two-dimensional arrays by rows, and converting two-dimensional arrays into JSON format. I hope these methods can help you better use PHP to process data.

The above is the detailed content of Let's talk about the conversion method of two-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