用数组中缺失周期的行填充二维数组

2023-11-30

我有一个包含 1 - 13 期间的数组。有时,该数组并不包含所有期间的数据,我需要填写缺失的数据,例如:

$array = [
    ['period' =>  7, 'y' => 20],
    ['period' =>  8, 'y' => 20.50],
    ['period' =>  9, 'y' => 7020],
    ['period' => 10, 'y' => 6520],
    ['period' => 11, 'y' => 65920],
    ['period' => 12, 'y' => 62820],
    ['period' => 13, 'y' => 6120],
];

对于这种情况,我需要运行一个 php 循环来填充缺少的前 6 个周期0 y价值观。我尝试过各种循环,但没有任何乐趣。

期望的输出:

[
    ['period' =>  1, 'y' => 0],
    ['period' =>  2, 'y' => 0],
    ['period' =>  3, 'y' => 0],
    ['period' =>  4, 'y' => 0],
    ['period' =>  5, 'y' => 0],
    ['period' =>  6, 'y' => 0],
    ['period' =>  7, 'y' => 20],
    ['period' =>  8, 'y' => 20.50],
    ['period' =>  9, 'y' => 7020],
    ['period' => 10, 'y' => 6520],
    ['period' => 11, 'y' => 65920],
    ['period' => 12, 'y' => 62820],
    ['period' => 13, 'y' => 6120],
]

您可以使用标准数组方法获得良好的语义。例如:

<?php
$in = [
    ['period' =>  7, 'y' => 20],
    ['period' =>  8, 'y' => 20.50],
    ['period' =>  9, 'y' => 7020],
    ['period' => 10, 'y' => 6520],
    ['period' => 11, 'y' => 65920],
    ['period' => 12, 'y' => 62820],
    ['period' => 13, 'y' => 6120],
];

// collect available periods
$available = array_column($in, 'period');

// calculate missing periods
$missing = array_diff(range(1, 13), $available);

// transform missing to correct format
$addition = array_map(function ($period) { return ['period' => $period, 'y' => 0]; }, $missing);

// add missing to input
$out = array_merge($in, $addition);

// sort by period
usort($out, function ($a, $b) {
    return $a['period'] <=> $b['period'];
});

// done
print_r($out);

demo: https://3v4l.org/2fDYW

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

用数组中缺失周期的行填充二维数组 的相关文章

  • symfony 2.0足够稳定可以使用吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我怀疑是否交响乐2 0够稳定可以使用吗 因为我从来没有用过Symfony before 看起来交响乐2比以前的版本好得多 我不想在几个月后重新学
  • PHP如何计算时差? [复制]

    这个问题在这里已经有答案了 我必须计算日期时间差 如何在 PHP 中做到这一点 我需要准确的小时 分钟和秒 有人有这方面的脚本吗 Use the diff 方法 http www php net manual en datetime dif
  • 如何在 php 和 mongodb 中使用 findAndModify

    我想将 id 加 1 但运行 php 页面时出现问题 错误是 Fatal error Call to undefined method MongoCollection findAndModify in C wamp www 我的代码是
  • 如何按年和月对 WordPress 帖子进行分组?

    我正在尝试创建一个带有后查询并在输出中具有以下结构的函数 2021 January 1 Post Title 2 Post Title March 3 Post Title 2020 May 4 Post Title 这是我到目前为止所做的
  • 如何在 phpstorm 中自动生成类的属性?

    如果我实现一个类 它注入一些服务 我必须编写大量代码
  • 在 PHP 中扩展单例

    我正在使用一个 Web 应用程序框架 其中一部分由许多服务组成 所有服务均以单例形式实现 它们都扩展了一个 Service 类 其中实现了单例行为 如下所示 class Service protected static instance p
  • 导出具有高质量图像的画布的最佳实践是什么?

    我需要你的帮助 我解释一下我的情况 我正在使用 Fabric js 库在我的应用程序中放置形状 文本等 我的画布尺寸为 1000x1000 像素 约 26 45x26 45 厘米 我有一个图像上传脚本 仅用于上传高质量图像 例如 300 d
  • WooCommerce - 按下按钮时更新所有产品描述(全站点)

    我一直在使用以下代码 希望能够创建一个按钮 按下它 然后我网站上的所有描述都会自动生成 梦想 我的问题 为什么我的代码没有按预期更新所有产品 到目前为止 我有以下代码 虽然它在一定程度上可以工作 但当按钮位于产品页面上时无法正常工作 它将更
  • 错误只有 size-1 数组可以转换为 Python 标量

    我有这个代码 for a in data X for i in a if not i isdigit x hash i data X column row x row row 1 row 0 column column 1 desired
  • 在浏览器中就绪的 DOM 上缺少语言翻译弹出窗口:Laravel 5.2

    我的控制器中有以下代码 public function AllCountries Countries new App DataAccess CountryData gt GetAllCountries app gt setLocale fr
  • 从其他域发送电子邮件而不是垃圾邮件

    这个问题问了一遍又一遍 仍然没有好的解决方案 当有人使用 php 发送电子邮件并将另一个域放在 from 中时 它最终会成为垃圾邮件 解决方案通常是 使用您的 发件人 并将您想要的域名放入 回复 中 将您的域列入主要邮件服务的白名单 第一个
  • 每 n 个字符后插入连字符,末尾不添加连字符

    我在用着chunk split 每第四个字母后添加一个 但它也会在字符串末尾添加一个 这是我不想要的 代码如下 function GenerateKey input generated strtoupper md5 input uniqid
  • 使用 PHP 上传、调整图像大小并裁剪图像中心

    我想要创建一个非常非常基本的上传 调整大小和裁剪 PHP 脚本 其功能与 Twitter 用于上传头像图片的方法相同 无论如何我最后检查过 我希望脚本拍摄任何尺寸的图像 将最短边的大小调整为 116 像素 然后裁剪顶部和底部 如果是横向 则
  • PHP随机输出数组元素

    我如何从大约 20 个元素的数组中随机回显 5 个元素 Thanks 这有效吗 values array rand input 5 或者 作为更灵活的功能 function randomValues input num 5 return a
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • 带缓存的简约 PHP 模板引擎,但不带 Smarty?

    有大量的问题 https stackoverflow com search q php template engine cache寻找 正确的 PHP 模板引擎 但它们都不专注于缓存 有谁知道一个轻量级 高质量 基于 PHP 5 的模板引擎
  • 为什么数组不符合 Equatable,而它的项在 Swift 中是 Equatable?

    UPDATE 从 Xcode 9 3 开始 包括斯威夫特 4 1 数组相等按预期工作 并且原始问题中的代码编译没有错误 然而 请查看已接受的答案 因为它提供了更好 更现代的解决方案 原问题如下 当我尝试声明类型为泛型枚举的实例时 Post
  • 性能方面插值(直接插入字符串)VS串联[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SplFileObject + LimitIterator + 偏移量

    我有两行数据文件 两行仅用于我的示例 实际上 该文件可以包含数百万行 并且我使用 SplFileObject 和 LimitIterator 进行偏移 但这种组合在某些情况下会有奇怪的行为 offset 0 file new SplFile
  • File_get_contents($url): 无法打开流

    我有一个脚本 我使用以下方法读取文件 file get contents urlencode url 我收到此错误 failed to open stream HTTP request failed HTTP 1 0 400 Bad req

随机推荐

  • 为什么 cpu 性能计数器一直报告 0% cpu 使用率?

    PerformanceCounter cpuload new PerformanceCounter cpuload CategoryName Processor cpuload CounterName Processor Time cpul
  • 使用 ArrayAdapter 在自定义列表视图中滚动时微调器重置值

    我是 android 初学者 我需要你的帮助 在我的应用程序中 我使用自定义适配器和自定义行布局创建了一个列表视图 我成功地做到了这一点 并且我在所有行中添加了一张图像 文本视图和一个旋转下拉菜单 下拉列表中有项目数量 例如从 0 到 9
  • 在循环内定义的Java变量在循环外似乎无法被识别?

    我有一段代码令我困惑 我在 if else 语句内定义了一个整数数组 因为数组的长度取决于该方法的 2 个输入的长度 我的问题是 在 if else 语句之外 变量定义似乎丢失了 import java util Arrays public
  • 嵌入式.mobileprovision 中的 ProvisionsAllDevices 与 ProvisionedDevices

    我最近收到了一个 ipa 文件形式的 ipad 应用程序 为了安装该应用程序 我将其重命名为 zip 并找出应用程序文件并使用 Iphone Configuration Utility 能够顺利地将其安装到我的 iPad 上 它是 iOS
  • 如何将一个字符串拆分为多个值?

    如何分割字符串 假设我有一个字符串 狗 猫 老鼠 鸟 我的实际目标是将这些动物中的每一个插入到列表框中 这样它们就会成为列表框中的项目 但我想如果我知道如何拆分字符串 我就知道如何插入这些项目 或者有谁知道更好的方法来做到这一点 我使用 a
  • Symfony 2 - 表单实体类型:如何格式化生成的下拉列表?

    我有一个表单 显示可供选择的类别下拉菜单 这些类别是使用 Gedmo Tree Extension 设置的 因此一个类别可以有子类别 我在表单生成器中有一个自定义查询 它仅选择属于特定组的类别 但是 我需要能够在下拉列表中显示哪些类别是父母
  • 将 vbCrLF 附加到 UCS-2 Little Endian

    我通过 HP UFT 以前的 QTP 使用 vbscript 我面临的问题看起来很简单 但我无法解决 我有从某些系统导出的 CSV 文件 并且该文件中没有完成的 CRLF 我需要一个简单的修复append该文件的新行 我知道这是可能的写入另
  • MIPS 汇编和伪指令

    李 立即加载 MIPS 中的伪指令根据常量的符号和大小以不同方式将常量加载到寄存器中 例如 当常量是二进制补码的 16 位数字 2 15 我找到的链接没有具体解决这个问题 如果你用例子来解释的话那就太好了 我使用火星模拟器 LI当立即数可以
  • 让 python 生成器在后台运行

    现在我有一些代码大致执行以下操作 def generator while True value do some lengthy IO yield value def model for datapoint in generator do s
  • 当错误再次出现时,错误处理不起作用

    逻辑 用户 按下按钮 代码 创建 Recordset rstStud 学生 和 rstGroupStud 学生组 Code Cycle Enumerates rstStud 代码 添加条目到 rstGroupStud 代码 如果该记录存 在
  • 无法从 iPhone Xs Max 获取 UDID | iOS |苹果| iPhone

    I need to get the UDID of my iPhone Xs Max to test my App Apparently That does not work on the iPhone Xs Max 您收到错误是因为 iO
  • tkinter:如何让用户在asksaveasfilename-dialog 中选择文件类型?

    目前 我正在编写一个 GUI 它应该允许用户保存文件并选择文件类型 比如说 jpg bmp 我正在使用 tkinter 和 Python 3 4 不幸的是 我无法弄清楚用户选择了哪种文件类型 我正在使用asksaveasfilename d
  • 是否可以启用 Firebase 电子邮件身份验证但禁用登录?

    在我的应用程序中 我已经使用 Google 帐户进行 Firebase 身份验证 但我还想授权一些没有 Google 帐户的用户 因此 我想从 Firebase 控制台手动将它们添加到授权服务器并启用电子邮件身份验证 我不希望随机用户能够使
  • 隐藏所有 li 元素并显示前 2 个元素并通过按钮切换它们

    假设我有 ul li 2 li li 3 li li 4 li li 5 li ul 我想要 jQuery 代码隐藏所有 li 然后展示第一个和第二个 然后append 额外的 li li more li 用于切换 隐里 这应该可以做到 h
  • Promise 中的代码执行和使用 return 语句[重复]

    这个问题在这里已经有答案了 在这里 在使用 Promise 时我应该返回resolve and reject方法 代码执行顺利 但如果有多个条件语句 则会reject and resolve自动结束或者我们必须使用 return 语句 co
  • 一种以恒定速度沿线移动鸵鸟的有效算法

    问题 在笛卡尔坐标系 仅限 x y 中以恒定速度沿直线移动物体 更新速度不稳定 移动速度必须接近精确 并且物体必须非常接近目的地 该线路的源站和目的地可以是任何地方 给定 源地址和目标地址 x0 x1 y0 y1 以及任意值的速度 顺便说一
  • 覆盖 Ajax 成功事件

    我正在尝试覆盖 jQueryajax函数来处理成功事件的默认操作 但也执行我在中使用的回调函数options范围 目的是什么 响应中返回的标签我总是想从响应中删除以在其他地方使用 场景是 Ajax提交 阿贾克斯成功 默认成功操作 调用Aja
  • 如何为我的自定义 TabBarController 设置自定义 tabBar?

    我的自定义选项卡栏 class MyTabBar UITabBar My custom tab Bar Controller class MyTabBarController UITabBarController 我的问题是如何在自定义选项
  • 熊猫找到满足条件的日期之间的持续时间?

    我有一个 pandas DataFrame 如下所示 VENDOR ID DATE 1 33 01 12 2018 2 33 03 12 2018 3 12 01 08 2018 4 12 01 15 2018 5 12 01 23 201
  • 用数组中缺失周期的行填充二维数组

    我有一个包含 1 13 期间的数组 有时 该数组并不包含所有期间的数据 我需要填写缺失的数据 例如 array period gt 7 y gt 20 period gt 8 y gt 20 50 period gt 9 y gt 7020