php 二维数组转一维数组

在 PHP 中,数组是一种非常强大和灵活的数据结构,可以存储多种不同类型的数据。PHP 的数组可以是单维数组、二维数组、多维数组等。

在实际开发过程中,我们经常需要将二维数组转换为一维数组,以便更方便地遍历和处理数据。本文将介绍 PHP 中如何将二维数组转换为一维数组。

PHP 二维数组

在 PHP 中,二维数组是指数组中的元素也是数组的数组。例如:

1

2

3

4

5

$students = array(

array(“name” => “John”, “age” => 23, “score” => 90),

array(“name” => “Mike”, “age” => 21, “score” => 80),

array(“name” => “Mary”, “age” => 22, “score” => 85)

);

登录后复制

这里我们创建了一个 $students 数组,其中包含三个元素,每个元素又是一个数组,包含了学生的姓名、年龄和成绩。

将二维数组转一维数组

在 PHP 中,将二维数组转换为一维数组有多种方法。下面介绍几种常用的方法:

方法一:循环遍历

我们可以通过循环遍历二维数组的每个元素,然后将其合并到一个新的一维数组中。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$students = array(

array(“name” => “John”, “age” => 23, “score” => 90),

array(“name” => “Mike”, “age” => 21, “score” => 80),

array(“name” => “Mary”, “age” => 22, “score” => 85)

);

$newArray = array();

foreach ($students as $student) {

foreach ($student as $key => $value) {

$newArray[$key][] = $value;

}

}

print_r($newArray);

登录后复制

上面的代码输出结果为:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

Array

(

[name] => Array

(

[0] => John

[1] => Mike

[2] => Mary

)

[age] => Array

(

[0] => 23

[1] => 21

[2] => 22

)

[score] => Array

(

[0] => 90

[1] => 80

[2] => 85

)

)

登录后复制

可以看到,通过循环遍历,我们将二维数组转换为了一个新的关联数组,其中的每个元素对应了原来二维数组的每个元素的一个键值。

方法二:使用 array_column 函数

PHP 提供了 array_column 函数用于从多维数组中获取指定的列。我们可以使用该函数获取每个学生的 name、age 和 score,然后将其合并到一个新的一维数组中。

1

2

3

4

5

6

7

8

9

10

11

12

13

$students = array(

array(“name” => “John”, “age” => 23, “score” => 90),

array(“name” => “Mike”, “age” => 21, “score” => 80),

array(“name” => “Mary”, “age” => 22, “score” => 85)

);

$newArray = array(

“name” => array_column($students, “name”),

“age” => array_column($students, “age”),

“score” => array_column($students, “score”)

);

print_r($newArray);

登录后复制

上面的代码输出结果与方法一相同。

方法三:使用 array_reduce 函数

我们可以使用 array_reduce 函数对二维数组进行迭代,然后将其合并为一个新的一维数组。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$students = array(

array(“name” => “John”, “age” => 23, “score” => 90),

array(“name” => “Mike”, “age” => 21, “score” => 80),

array(“name” => “Mary”, “age” => 22, “score” => 85)

);

$newArray = array_reduce($students, function($carry, $student) {

foreach ($student as $key => $value) {

$carry[$key][] = $value;

}

return $carry;

}, array());

print_r($newArray);

登录后复制

上述代码输出结果与方法一相同。

方法四:自定义函数

我们也可以自定义函数,实现将二维数组转换为一维数组的功能。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

function array_convert($arr) {

$result = array();

foreach ($arr as $row) {

foreach ($row as $key => $value) {

$result[$key][] = $value;

}

}

return $result;

}

$students = array(

array(“name” => “John”, “age” => 23, “score” => 90),

array(“name” => “Mike”, “age” => 21, “score” => 80),

array(“name” => “Mary”, “age” => 22, “score” => 85)

);

$newArray = array_convert($students);

print_r($newArray);

登录后复制

上述代码输出结果与方法一相同。

总结

在 PHP 中,将二维数组转换为一维数组有多种方法,包括循环遍历、使用 array_column 函数、使用 array_reduce 函数以及自定义函数等。选择哪种方法取决于具体场景的需求和开发习惯。在实际开发过程中,我们需要灵活运用这些方法,以便更高效地处理数据。

以上就是php 二维数组转一维数组的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容