函数式编程 PHP

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/

点赞(119) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部