返回顶部
首页 > PHP中 array_map() 函数什么意思?有什么作用?
  • 40
分享到

PHP中 array_map() 函数什么意思?有什么作用?

2024年02月28日 40人浏览 编程网

摘要

array_map() 函数是 PHP 中用于对数组中的每个元素应用回调函数的内置函数。它返回一个新数组,其中每个元素都是通过将原始数组的相应元素作为参数传递给回调函数而生成的。

详细说明

语法

array array_map ( callable $callback , array $array1 [, array $... ] )

参数

  • $callback: 一个回调函数,它接受数组中的单个元素作为输入,并返回一个新值。
  • $array1: 要应用回调函数的第一个数组。
  • $array2, ..., $arrayN: 可选的附加数组,也应用回调函数。

返回值

array_map() 函数返回一个新数组,其中每个元素都是通过将原始数组的相应元素作为参数传递给回调函数而生成的。如果多个数组作为参数传递,则每个新元素将包含每个原始数组中相应元素的结果。

用法

array_map() 函数通常用于对数组中的每个元素执行特定的操作或转换。例如,它可以用来:

  • 将数组中的所有元素转换为大写:
$array = ["apple", "banana", "cherry"];
$newArray = array_map("strtoupper", $array);
// $newArray = ["APPLE", "BANANA", "CHERRY"]
  • 计算数组中每个元素的平方根:
$array = [1, 4, 9, 16];
$newArray = array_map("sqrt", $array);
// $newArray = [1, 2, 3, 4]
  • 从数组中过滤出偶数:
$array = [1, 2, 3, 4, 5, 6];
$newArray = array_map(function($x) { return $x % 2 == 0; }, $array);
// $newArray = [false, true, false, true, false, true]

回调函数

回调函数可以是:

  • 内置函数名(如 strtoupper
  • 匿名函数(如 function($x) { return $x % 2 == 0; }
  • 用户定义函数名

回调函数应接受与原始数组中元素相同类型的参数,并应返回所需的新值类型。

其他用法

除了上述用法之外,array_map() 函数还可以与其他函数结合使用,例如:

  • array_filter(): 过滤掉不满足回调函数条件的元素。
  • array_reduce(): 将数组中的元素归并为单个值。
  • usort(): 根据回调函数的比较结果对数组进行排序。

示例

以下示例演示了如何在更实际的场景中使用 array_map() 函数:

计算订单的总金额

$orders = [
    ["product" => "apple", "quantity" => 2, "price" => 1.5],
    ["product" => "banana", "quantity" => 3, "price" => 2.0],
    ["product" => "cherry", "quantity" => 4, "price" => 2.5]
];

$prices = array_map(function($x) { return $x["quantity"] * $x["price"]; }, $orders);
// $prices = [3.0, 6.0, 10.0]

$total = array_sum($prices);
// $total = 19.0

从 JSON 数据中提取特定字段

$json = "[{"name": "John", "age": 30}, {"name": "Mary", "age": 25}]";
$data = json_decode($json, true);

$names = array_map(function($x) { return $x["name"]; }, $data);
// $names = ["John", "Mary"]

总之,array_map() 函数是一个强大的工具,可用于对数组中的每个元素执行各种操作和转换。

以上就是PHP中 array_map() 函数什么意思?有什么作用?的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: PHP中 array_map() 函数什么意思?有什么作用?

本文链接: https://www.lsjlt.com/wiki/b07ce3e116.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作