欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > 其他教程 >
其他教程

php 多重数组 如何按照某一个字段 相同值合并?

(元素模板) / 2024-01-18 10:33
php 如何让多重数组里面 某个字段 相同的 合并在一起?

比如下面数组
$data = [
    ['key' => 'A', 'value' => 'ValueA1'],
    ['key' => 'B', 'value' => 'ValueB1'],
    ['key' => 'A', 'value' => 'ValueA2'],
    ['key' => 'C', 'value' => 'ValueC1'],
    ['key' => 'B', 'value' => 'ValueB2'],
];
现在,你想要按照 key 字段的值合并相同的数组。你可以使用以下代码实现:
$result = [];

foreach ($data as $item) {
    $key = $item['key'];

    // 如果结果数组中已存在相同 key 的项,将当前项合并到已存在的项中
    if (isset($result[$key])) {
        $result[$key]['value'][] = $item['value'];
    } else {
        // 如果结果数组中不存在相同 key 的项,直接添加到结果数组
        $result[$key] = ['key' => $key, 'value' => [$item['value']]];
    }
}

// 将结果数组转换为索引数组
$result = array_values($result);

// 输出结果
print_r($result);

在这个例子中,使用了一个 $result 数组来保存最终合并后的结果。通过遍历原始数组 $data,检查 key 字段是否已存在于 $result 数组中。如果存在,将当前项合并到已存在的项中;如果不存在,直接添加到结果数组中。

最后,通过 array_values 函数将关联数组转换为索引数组。这样,你就得到了按照 key 字段合并后的最终结果。你可以根据实际情况调整代码以适应你的数据结构。

Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com