14 数组之数组的常用函数

在上一章中,我们详细讨论了 PHP 中的索引数组和关联数组的概念与应用。本章将继续探索数组的复杂性,着重介绍“数组之数组”的概念,即嵌套数组,并讨论一些常用的操作函数。这种结构在实际应用中极为常见,例如为数据存储和管理提供了更大的灵活性。

什么是数组之数组?

在 PHP 中,数组可以作为数组的元素。这种数据结构称为“数组之数组”或嵌套数组。例如,考虑一个存储学生信息的数组,其中每个学生也是一个数组,包含其姓名和成绩:

1
2
3
4
5
$students = [
['name' => 'Alice', 'score' => 85],
['name' => 'Bob', 'score' => 90],
['name' => 'Charlie', 'score' => 75]
];

在上面的示例中,我们有一个包含三个元素的外部数组,每个元素都是一个关联数组,表示一个学生的姓名和分数。

常用数组之数组函数

1. array_merge()

函数 array_merge() 用于合并一个或多个数组。如果数组包含数组元素,合并的结果可能会更复杂。

1
2
3
4
5
6
7
8
9
10
11
12
$array1 = [
['name' => 'Alice', 'score' => 85],
['name' => 'Bob', 'score' => 90]
];

$array2 = [
['name' => 'Charlie', 'score' => 75],
['name' => 'David', 'score' => 80]
];

$merged = array_merge($array1, $array2);
print_r($merged);

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Array
(
[0] => Array
(
[name] => Alice
[score] => 85
)

[1] => Array
(
[name] => Bob
[score] => 90
)

[2] => Array
(
[name] => Charlie
[score] => 75
)

[3] => Array
(
[name] => David
[score] => 80
)
)

2. array_map()

函数 array_map() 可用于应用一个回调函数到每一个数组元素。使用它,我们可以方便地处理嵌套数组。

1
2
3
4
5
$scores = array_map(function($student) {
return $student['score'];
}, $students);

print_r($scores);

输出:

1
2
3
4
5
6
Array
(
[0] => 85
[1] => 90
[2] => 75
)

3. array_filter()

函数 array_filter() 可以过滤数组中的元素,使用回调函数来判断哪些元素应该被保留。

1
2
3
4
5
$filtered = array_filter($students, function($student) {
return $student['score'] > 80;
});

print_r($filtered);

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
[0] => Array
(
[name] => Alice
[score] => 85
)

[1] => Array
(
[name] => Bob
[score] => 90
)
)

4. array_walk()

函数 array_walk() 可以用来对数组应用自定义函数。它适用于需要修改原数组的场景。

1
2
3
4
5
array_walk($students, function(&$student) {
$student['score'] += 5; // 为每个学生的分数增加 5
});

print_r($students);

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
[0] => Array
(
[name] => Alice
[score] => 90
)

[1] => Array
(
[name] => Bob
[score] => 95
)

[2] => Array
(
[name] => Charlie
[score] => 80
)
)

5. array_reduce()

函数 array_reduce() 用于将数组简化为单一的值,使用一个用户自定义的回调函数。

1
2
3
4
5
$totalScore = array_reduce($students, function($carry, $student) {
return $carry + $student['score'];
}, 0);

echo "Total Score: " . $totalScore; // Total Score: 265

小结

在本章中,我们探讨了 PHP 中数组之数组的常用函数,并结合实际示例理解了它们的用法。这些函数对于处理复杂的数据结构尤为重要,将为您在后续处理数组时提供强有力的工具。

在下一章中,我们将深入探讨如何遍历这些嵌套数组,并以更高效的方式访问和操作元素。

14 数组之数组的常用函数

https://zglg.work/php-lang-zero/14/

作者

IT教程网(郭震)

发布于

2024-08-14

更新于

2024-08-15

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论