PHP前端开发

PHP多维数组如何根据键值合并?

百变鹏仔 3天前 #PHP
文章标签 多维

php多维数组根据键值合并

要根据键值合并多维数组,可以使用 array_reduce() 函数,如下所示:

$result = array_reduce($data, function ($result, $current) {    // 把 workid 作为键    $target = array_merge($result[$current['workid']] ?? [], $current);    $result[$current['workid']] = $target;    return $result;}, []);

这行代码接受一个数组 $data 作为输入,将其传递给一个回调函数,该函数具有两个参数:

回调函数将 workid 作为键,然后将当前元素与任何具有相同 workid 的现有元素合并。合并后的结果存储在 $result 中,最终产生合并后的数组。

立即学习“PHP免费学习笔记(深入)”;

要易于阅读,您还可以使用以下代码:

$result = [];foreach ($data as $item) {    $result[$item['workID']] = array_merge($result[$item['workID']] ?? [], $item);}

这会产生相同的合并数组,但使用更直观的语法。