PHP是一门强大的编程语言,在操作数组方面也提供了多种函数式编程的操作函数。下面就是一些PHP中可以使用的数组操作函数。
1. array_map
array_map函数对数组中的每个元素应用回调函数,返回一个新的数组。
基本用法:
```php
array array_map ( callable $callback , array $array1 [, array $... ] )
```
其中,第一个参数是回调函数,接收一个或多个数组作为参数,要求返回一个值,用于组合成新的数组。
例如,将数组中的每个元素进行加倍操作:
```php
$numbers = [1, 2, 3, 4, 5];
$multiplied = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($multiplied);
```
输出:`Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )`
2. array_filter
array_filter函数过滤数组中不符合条件的元素,返回一个新的数组。
基本用法:
```php
array array_filter ( array $array [, callable $callback = "" ] )
```
其中,第一个参数为要过滤的数组,第二个参数为过滤方法,可以是一个函数,并且只接受一个元素作为参数,返回true则保存该元素,false则不保存。
例如,将数组中的所有偶数过滤出来:
```php
$numbers = [1, 2, 3, 4, 5];
$evenNumbers = array_filter($numbers, function($n) {
return $n % 2 == 0;
});
print_r($evenNumbers);
```
输出:`Array ( [1] => 2 [3] => 4 )`
3. array_reduce
array_reduce函数将数组通过指定的回调函数进行迭代,返回一个累加的结果。
基本用法:
```php
mixed array_reduce ( array $array , callable $callback [, mixed $initial = NULL ] )
```
其中,第一个参数为要迭代的数组,第二个参数为回调函数,接收两个参数,一个是累加结果,一个是数组中的当前元素。第三个参数为初始值,可以省略。
例如,将数组中的所有元素累加得到一个结果:
```php
$numbers = [1, 2, 3, 4, 5];
$sum = array_reduce($numbers, function($carry, $item) {
return $carry + $item;
});
echo $sum; // 输出15
```
4. array_walk
array_walk函数对数组中的每个元素应用回调函数,没有返回值。
基本用法:
```php
bool array_walk ( array &$array , callable $callback [, mixed $userdata = NULL ] )
```
其中,第一个参数为要遍历的数组,第二个参数为回调函数,接收两个参数,第一个参数为数组中的当前元素,第二个参数为当前元素的键名,如果需要修改数组中的元素,需要将第一个参数传递引用。第三个参数为传递给回调函数的用户数据,可以省略。
例如,将数组中的所有元素加倍:
```php
$numbers = [1, 2, 3, 4, 5];
array_walk($numbers, function(&$item, $key) {
$item *= 2;
});
print_r($numbers);
```
输出:`Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )`
5. array_column
array_column函数返回一个数组中指定列的值。
基本用法:
```php
array array_column ( array $array , mixed $column_key [, mixed $index_key = NULL ] )
```
其中,第一个参数为要获取数据的数组,第二个参数为需要获取的列名或者键名,如果是数字,则表示要获取的列号。第三个参数为作为返回数组的键名的列或者键名。
例如,从一个学生数组中获取ID列:
```php
$students = [
['id' => 1, 'name' => 'Tom', 'age' => 20],
['id' => 2, 'name' => 'Jerry', 'age' => 22],
['id' => 3, 'name' => 'Mary', 'age' => 21]
];
$ids = array_column($students, 'id');
print_r($ids);
```
输出:`Array ( [0] => 1 [1] => 2 [2] => 3 )`
这些函数都是PHP的一些常用数组操作函数,可以帮助我们更加方便地操作数组。同时,这些函数都具有函数式编程的特征,能够在处理数组的过程中进行更加简洁和优雅的函数组合。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复