php中array_map函数和array_filter函数在使用上有什么不同

admin 阅读:85 2024-02-22

当你想对数组中的每个元素进行某种处理时,你可以使用 array_map() 函数。这个函数会把数组中的每个元素传递给指定的函数,并把函数返回的结果组成一个新的数组返回。

举个例子,假设你有一个数组 [1, 2, 3, 4, 5],你想把每个元素都变成它的平方。你可以这样做:

$numbers = [1, 2, 3, 4, 5];
$squared_numbers = array_map(function($num) {
    return $num * $num;
}, $numbers);

print_r($squared_numbers);

这样就会输出 [1, 4, 9, 16, 25],即每个元素都变成了它的平方。

而当你想从数组中过滤出满足某个条件的元素时,你可以使用 array_filter() 函数。这个函数会把数组中的每个元素传递给指定的函数,如果函数返回 true,则保留该元素;如果函数返回 false,则删除该元素,最终返回一个新的数组。

举个例子,假设你有一个数组 [1, 2, 3, 4, 5],你想保留其中的奇数。你可以这样做:

$numbers = [1, 2, 3, 4, 5];
$odd_numbers = array_filter($numbers, function($num) {
    return $num % 2 != 0;
});

print_r($odd_numbers);

这样就会输出 [1, 3, 5],即只保留了奇数。

标签: print_r
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!