PHP 合并具有相同键和一个相同值的数组

2024-02-14

我需要合并一个 PHP 数组,这个数组有 2 个名为“targetXX”的数组,我可以有 2 个或更多。每个目标都有相同的键,对于每个键,我有一个包含 2 个值 a 和 b 的数组,a 在两个目标中始终相同,但我需要像这样合并两个 B 值:

Array
(
    [0] => Array
        (
            [target] => hitcount(stats.asdf1.requests, "1min")
            [datapoints] => Array
                (
                    [0] => Array
                        (
                            [0] => 1200
                            [1] => 1392282200
                        )

                    [1] => Array
                        (
                            [0] => 1400
                            [1] => 1392282260
                        )

                    [2] => Array
                        (
                            [0] => 600
                            [1] => 1392282320
                        )

                    [3] => Array
                        (
                            [0] => 200
                            [1] => 1392282380
                        )

                    [4] => Array
                        (
                            [0] => 400
                            [1] => 1392282440
                        )

                    [5] => Array
                        (
                            [0] => 600
                            [1] => 1392282500
                        )
                )
        )
    [1] => Array
        (
            [target] => hitcount(stats.asdf.requests, "1min")
            [datapoints] => Array
                (
                    [0] => Array
                        (
                            [0] => 4321
                            [1] => 1392282200
                        )

                    [1] => Array
                        (
                            [0] => 76567
                            [1] => 1392282260
                        )

                    [2] => Array
                        (
                            [0] => 5556
                            [1] => 1392282320
                        )

                    [3] => Array
                        (
                            [0] => 7675
                            [1] => 1392282380
                        )

                    [4] => Array
                        (
                            [0] => 2344
                            [1] => 1392282440
                        )

                    [5] => Array
                        (
                            [0] => 0999
                            [1] => 1392282500
                        )
                )
        )

Result:

    Array
(
    [0] => Array
        (
            [target] => hitcount(stats.asdf1.requests, "1min")
            [datapoints] => Array
                (
                    [0] => Array
                        (
                            [0] => 1200
                            [1] => 1392282200
                            [2] => 4321
                        )

                    [1] => Array
                        (
                            [0] => 1400
                            [1] => 1392282260
                            [2] => 76567
                        )

                    [2] => Array
                        (
                            [0] => 600
                            [1] => 1392282320
                            [2] => 5556
                        )

                    [3] => Array
                        (
                            [0] => 200
                            [1] => 1392282380
                            [2] => 7675
                        )

                    [4] => Array
                        (
                            [0] => 400
                            [1] => 1392282440
                            [2] => 2344
                        )

                    [5] => Array
                        (
                            [0] => 600
                            [1] => 1392282500
                            [2] => 0999
                        )
                )
        )

Use array_merge() http://php.net/array_merge为了达成这个:

$newArray = array();

foreach ($myArray['target2'] as $key => $innerArr1) {
    $newArray['target'][$key] = array_merge(
        $myArray['target1'][$key],  /* 0th and 1st index */
        array($innerArr1[1])        /* 2nd index         */
    );
}

print_r($newArray);

Output:

Array
(
    [target] => Array
        (
            [0] => Array
                (
                    [0] => 333333
                    [1] => 13
                    [2] => 99
                )

            [1] => Array
                (
                    [0] => 444444
                    [1] => 15
                    [2] => 98
                )

            [2] => Array
                (
                    [0] => 555555
                    [1] => 17
                    [2] => 97
                )

        )

)

Demo https://eval.in/101403

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 合并具有相同键和一个相同值的数组 的相关文章

随机推荐

  • AWS API Gateway - 尽管遵循以下教程,但仍出现 CORS 错误

    我有一个 sam 文件试图构建 lambda 函数的 API 网关 我正在关注最新的用于配置 cors 的 AWS 文档 https docs aws amazon com serverless application model late
  • 将多个文件上传到 Azure Blob 存储

    对于 Windows Azure 来说还很陌生 我已经按照这个教程进行操作 tutorial http blogs msdn com b jnak archive 2010 01 11 walkthrough windows azure b
  • 在 Express 中有条件地提供静态文件的最佳方法是什么?

    我正在构建一个应用程序 它有两个独立的部分 在前端我将其构建为两个独立的 Angular 应用程序 我这样做是为了更好地划分对代码库的控制访问权 而不是不必要地让一些团队成员访问他们不需要的代码 因此有两个独立的应用程序 由同一个 Node
  • 如何扩展 jQuery UI 日期选择器来修改“今日”按钮并添加帮助图标

    我想扩展基于 jQuery UI datepicker 小部件 并将其称为 datepickerHelp jQuery UI 日期选择器小部件 http api jqueryui com datepicker 我对扩展感兴趣而不是直接修改
  • Docker 主机的 Elastic Beanstalk 环境变量

    我有一个 EB 环境 其中正确部署了 Docker Web 应用程序 rails 我设置了几个 EB 环境变量 它们在容器中正确可见 现在 我希望这些 EB 环境变量对 EC2 实例主机可见 以便我可以在 docker 构建过程中使用它们
  • 将 scala/spark 信息写入 MongoDB

    我有一个日志数据 其中包含如下数据 Started by timer Finished SUCCESS 对于每个日志数据 日志状态 此处为 Finished 和状态 SUCCESS 需要写入MongoDB case class Logs s
  • XMLHttpRequest 和 http 流

    我的目标是从浏览器读取 HTTP MP3 音频流并访问原始音频数据 HTML5 让我可以轻松播放流 但据我所知 不允许访问原始音频数据 它只是播放它 JS XMLHTTP请求可以通过HTTP下载文件并处理原始音频数据 它似乎是一个很好的候选
  • 这个 MATLAB 循环是否有更优雅的替代方案?

    我想更好地在 MATLAB 中对循环进行矢量化 目前 我正在尝试计算整数列表中值的出现次数 我的代码与此类似 list 1 2 2 3 1 3 2 2 2 1 5 occurrence list zeros 1 max list for x
  • 为什么 uglify-js 会报告“警告:输出超过 32000 个字符”?

    构建管道是 Typescript browserify browserify css uglify 运行时库 react bootstrap 到目前为止 我的应用程序功能很少 这就是为什么我问这是否会在以后困扰我 即使它现在看起来可以工作
  • 析构函数与 IDisposable?

    我读过有关在 C 中处置对象 IDisposable 接口和析构函数的内容 但对我来说 它们似乎做了同样的事情 两者有什么区别 我为什么要使用其中一种而不是另一种 事实上 在这个示例 下面的链接 中 这段代码同时使用了 IDisposabl
  • 语音识别和语音合成入门

    我想开始语音识别和语音合成 在基于语音识别的原型 https stackoverflow com questions 3865351 prototype based on speech recognition有人告诉我使用微软语音服务器 s
  • 显示相同项目的放大弹出窗口

    参考这个question https stackoverflow com questions 26151953 magnific popup showing first item only 它有一个有用的答案 但它是部分答案 因为它只显示三
  • Ajax 调用返回整个页面

    我有以下页面 其中包含一些随机提示 http www javaexperience com tips 我只想在网站的其他页面上显示提示 因此我进行 ajax 调用并将 ajax 响应返回的任何内容添加到 Div 的 HTML 中 DIV h
  • 使用 tidyverse 或 dplyr 进行简单 mutate 引发的错误

    我在使用 tidyverse 包时遇到了严重的问题 无法调试 例如 即使在我过去已经制作的项目中 mutate 也无法正常工作 这一切都是从我安装以下软件包时开始的 library pdftools library tm library s
  • 我不小心删除了 Android 密钥库,如何恢复?

    好吧 我的动作很顺利 我现在无法更新市场中的任何应用程序 因为我不小心删除了我的 Android 密钥库 有谁知道我怎样才能把它拿回来 我尝试过运行恢复程序 但由于某种原因它没有出现 如果您丢失了私钥 它将永远消失 除非您有备份 如果您可以
  • 在asp.net 3.5中导出为pdf

    我正在开发一个 asp net 3 5 应用程序 并且有一个包含表格表单数据的页面 我需要将其导出为 pdf 并进行一些额外的格式化 该页面还有一些图像位于同一表格内 一些图像位于表格外 我也希望将这些图像导出为 pdf 我怎样才能在asp
  • 如何查看php字节码文件

    我这样做是为了学习目的 我读过很多文章 PHP 首先将其源代码转换为字节码 但我无法找到一种方法来查看字节码格式 它是什么样子的 在java和C中有很多方法可以查看字节码文件 但无法在 php 中找到任何文章来查看转换后的字节码 要将 PH
  • 运行集成测试时,构建在 Jetty 启动时等待

    我正在尝试运行一些集成 验收测试 我只想在传递环境变量时运行这些测试 因此我使用以下命令 mvn clean install Denv acceptance 但构建停止于 2015 09 28 18 56 19 273 INFO oejsh
  • 在 C# 中获取网络摄像头的当前状态

    我试图弄清楚如何检查网络摄像头 视频捕获设备是否已被另一个应用程序使用 而无需实际激活它 我当前的方法是使用 AForge NET 库并使用 VideoCaptureDevice 对象的 IsRunning 属性 如下所示 var vide
  • PHP 合并具有相同键和一个相同值的数组

    我需要合并一个 PHP 数组 这个数组有 2 个名为 targetXX 的数组 我可以有 2 个或更多 每个目标都有相同的键 对于每个键 我有一个包含 2 个值 a 和 b 的数组 a 在两个目标中始终相同 但我需要像这样合并两个 B 值