企业官网建站 小程序开发 云逸学习园地
技术文章 许愿墙
技术文章 PHP学习 Javascript学习 DIV+CSS学习 uniapp学习 HTML学习 微信小程序、公众号知识点 VUE知识学习
您所在的位置>云逸小栈>PHP学习>正文

php两个二维数组合并,A数组中字段是全的 B数组中字段 没A数组多,合并后 补全B数组 没有A中字段的元素 用空替代

2025-03-15 23:27:51 浏览 626
$a = [
    ['a' => 11, 'b' => 23, 'c' => 33],
    ['a' => 122, 'b' => 23, 'c' => 33],
    ['a' => 122, 'b' => 2, 'c' => 3],
];
$b = [
    ['a' => 334, 'b' => 264],
    ['a' => 314, 'b' => 274],
    ['a' => 364, 'b' => 284]
];
// 获取$a的所有字段
$a_keys = array_keys(reset($a));
// 为$b补充缺失字段
$b_filled = array_map(function($item) use ($a_keys) {
    return array_merge(
        array_fill_keys($a_keys, ''), // 先用默认值创建全字段数组
        $item                         // 再用$b的元素覆盖存在的字段
    );
}, $b);
// 合并两个数组
$result = array_merge($a, $b_filled);
print_r($result);

输出结果

Array
(
    [0] => Array
    (
        [a] => 11
            [b] => 23
            [c] => 33
        )
    [1] => Array
(
    [a] => 122
            [b] => 23
            [c] => 33
        )
    [2] => Array
(
    [a] => 122
            [b] => 2
            [c] => 3
        )
    [3] => Array
(
    [a] => 334
            [b] => 264
            [c] => 
        )
    [4] => Array
(
    [a] => 314
            [b] => 274
            [c] => 
        )
    [5] => Array
(
    [a] => 364
            [b] => 284
            [c] => 
        )
)

说明:

array_keys(reset($a)) 获取$a第一个元素的所有键,作为完整字段列表


网站开发者电话

18066742510

个人微信号
个人公众号
个人小程序
个人抖音