【问题标题】:PHP: Merge 3 Multidimensional Arrays [duplicate]PHP:合并 3 个多维数组 [重复]
【发布时间】:2020-04-28 17:20:24
【问题描述】:

我需要将 3 维数组与 php 合并并需要结果。告诉我如何实现这一目标。下面是我的两个数组输出。有没有可用的内置函数?

数组1

Array
(
    [4af2986d-92d6-f343-4c55-5da954718c48] => Array
        (
            [2020-01-10] => Array
                (
                    [10] => Array
                        (
                            [user_name] => dreamertechs
                            [Call_Answered] => 0
                            [Call_Dropes] => 1
                            [call_duration_seconds] => 0
                        )                    

                    [11] => Array
                        (
                            [user_name] => dreamertechs
                            [Call_Answered] => 2
                            [Call_Dropes] => 1
                            [call_duration_seconds] => 91
                        )

                )
        )
)

数组2

Array
(
    [4af2986d-92d6-f343-4c55-5da954718c48] => Array
        (
            [2020-01-10] => Array
                (
                    [10] => Array
                        (
                            [user_name] => dreamertechs
                            [break_duration] => 19
                        )

                    [16] => Array
                        (
                            [user_name] => dreamertechs
                            [break_duration] => 1
                        )
                )
        )
)

结果数组

Array
(
    [4af2986d-92d6-f343-4c55-5da954718c48] => Array
        (
            [2020-01-10] => Array
                (
                    [10] => Array
                        (
                            [user_name] => dreamertechs
                            [Call_Answered] => 0
                            [Call_Dropes] => 1
                            [call_duration_seconds] => 0
                            [break_duration] => 19
                        )                    

                    [11] => Array
                        (
                            [user_name] => dreamertechs
                            [Call_Answered] => 2
                            [Call_Dropes] => 1
                            [call_duration_seconds] => 91
                        )
                    [16] => Array
                        (
                            [user_name] => dreamertechs
                            [break_duration] => 1
                        )
                )
        )
)

我使用了beow函数,但没有得到切面结果。

$array = array_unique (array_merge ($call_data, $break_data));

【问题讨论】:

  • 未来,请 1. 详尽研究(因为在过去 10 年创建的数百万页中,几乎所有基本数据操作都已提供 2. 将数组数据显示为 var_export() 或json_encoded 字符串而不是 print_r()var_dump() - 这允许志愿者在他们的答案中立即使用您的确切数据。

标签: php arrays multidimensional-array


【解决方案1】:

array_replace_recursive 会在这里做:

<?php

$one =
[
    'a1' =>  [
        '2010' => [
            1 => [
                'name' => 'Ringo'
            ],
            2 => [
                'name' => 'Paul'
            ]
        ]
    ]
];
$two =
[
    'a1' =>  [
        '2010' => [
            1 => [
                'name' => 'Ringo',
                'instrument' => 'Drums'
            ],
            3 => [
                'name' => 'George'
            ]
        ]
    ]
];

var_export(array_replace_recursive($two, $one));

输出:

array (
  'a1' => 
  array (
    2010 => 
    array (
      1 => 
      array (
        'name' => 'Ringo',
        'instrument' => 'Drums',
      ),
      3 => 
      array (
        'name' => 'George',
      ),
      2 => 
      array (
        'name' => 'Paul',
      ),
    ),
  ),
)

【讨论】:

    猜你喜欢
    • 2015-06-04
    • 2013-07-23
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 2014-06-29
    相关资源
    最近更新 更多