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],即只保留了奇数。
声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!