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 作为输入,将其传递给一个回调函数,该函数具有两个参数:

  • $result:截至当前点的合并结果。
  • $current:当前数组元素。

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

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

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

$result = [];

foreach ($data as $item) {
    $result[$item['workID']] = array_merge($result[$item['workID']] ?? [], $item);
}
登录后复制

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

以上就是PHP多维数组如何根据键值合并?的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

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