PHP:涉及爆炸键的映射数组[重复]

2023-12-28

在尝试使用多个 foreach 循环解决此问题后,我仍然不知道如何映射$arr to $arr_mapped

我需要爆炸钥匙$arr获取最多具有三个要创建的新键的元素$arr_mapped


<?php

$arr = [
  'abc:quantity' => 1,
  'abc:variant' => 'blue',
  'xyz:quantity' => 2,
  'foo:quantity' => null
];

$arr_mapped = [
  [
    'id' => 'abc',
    'quantity' => 1,
    'variant' => 'blue'
  ],
  [
    'id' => 'xyz',
    'quantity' => 2,
  ]
];

背景:我想让用户批量添加预定义的购物项目<form>它是一个定制的 PHP 商店。


<form>

<input name="abc:quantity" value="1">
<input name="abc:variant" value="blue">
<input name="xyz:quantity" value="2">
<input name="foo:quantity" value="">

<button>Submit</button>
</form>

感谢您的任何建议


我认为这将根据您在示例中提供的输入生成您想要的输出(这似乎与示例中的输出不匹配):

$arr = [
  'abc:quantity' => 1,
  'abc:variant' => 'blue',
  'xyz:quantity' => 2,
  'foo:quantity' => null
];

$arr_mapped = array_values(array_reduce(array_keys($arr), function($map, $key) use ($arr) {
    [$id,$field] = explode(':', $key);
    $map[$id]['id'] = $id;
    $map[$id][$field] = $arr[$key];
    return $map;
}, []));

result:

[
  [
    'id' => 'abc',
    'quantity' => 1,
    'variant' => 'blue'
  ],
  [
    'id' => 'xyz',
    'quantity' => 1,
  ],
  [
    'id' => 'foo',
    'quantity' => null,
  ]
];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:涉及爆炸键的映射数组[重复] 的相关文章

随机推荐

  • 关于 Selenium-Webdriver 的 RSpec 错误

    尝试完成 Michael Hartl 的教程 在这里遇到问题 我刚刚创建了该应用程序 这是我运行 bundle exec rspec spec requests static pages spec rb 时看到的内容 Corey M Kim
  • 注释处理 - 每轮生成的文件与上一轮生成的文件

    我正在尝试注释处理 无法通过代码中的导入直接使用生成的文件 相反 我必须在生成的类前面加上完整的包 我发布了一个问题错误 生成的包 schema 不存在 https stackoverflow com questions 56698084
  • Eloquent JavaScript - 机器人项目开始时遇到问题

    在第 7 章机器人项目中 在 Eloquent JavaScript 中 我很难弄清楚机器人项目的开始部分 const roads Alice s House Bob s House Alice s House Cabin Alice s
  • Haskell/Parsec:如何使用 Text.Parsec.Indent 中的函数?

    我无法弄清楚如何使用其中的任何功能Text Parsec Indent http hackage haskell org packages archive indents latest doc html Text Parsec Indent
  • 消息或具有 MessageContractAttribute 和其他不同类型参数的类型

    我正在开发 WCF 服务 其中一些类具有 MessageContract 属性 有些则没有 当我尝试运行服务时 我收到以下错误消息 无法加载操作 ProcessOperation 因为它具有 System ServiceModel Chan
  • 无法从 JSON 反序列化 PyMongo ObjectId

    我似乎无法使用 BSON 反序列化我的 MongoDB JSON 文档json util http api mongodb org python current api bson json util html json loads 函数令人
  • cpan 忽略 makepl_arg 和 mbuild_arg

    我按照这个问题得票最多的答案中的说明进行操作如何将 CPAN 模块安装到本地目录中 https stackoverflow com questions 540640 how can i install a cpan module into
  • 无法使用 autofac 注册结构体实例

    我刚刚开始搬到Autofac from Unity我在尝试注册实例时遇到问题 public static void Register ContainerBuilder containerBuilder CancellationToken s
  • console.developers.google.com 与 appengine.google.com 有何不同?

    谷歌云有https console developers google com https console developers google com 并且 App Engine 有http appengine google com htt
  • MockK - 为每个测试重新初始化模拟

    我使用以下方法创建了一些模拟 val someService mockk
  • iPad 上的 UIActivityViewController

    我一直在使用下面的代码来展示UIActivityViewController当我使用 Xcode 6 Swift 1 2 和 iOS 8 时 它工作得很好 但是 当我更新时 它显示UIActivityViewController但它完全是空
  • php中的十六进制数填充零

    不知道我在这里做错了什么 当我在十六进制数字前面填充零时 它似乎改变了数字 number 1741 strtoupper dechex number output is 6CD sprintf 03x strtoupper dechex n
  • JavaScript 压缩

    我正在寻找可以压缩JavaScript源代码的工具 我发现一些网络工具只能删除空格字符 但也许存在更好的工具 可以压缩用户的函数名称 字段名称 删除未使用的字段等 经常用来压缩 JS 代码的工具是YUI压缩器 http developer
  • LESS/SASS CSS 与缩小/优化相反?

    我想知道我可以说 LESS SASS CSS 预处理器 我认为他们被称为 与缩小等优化相反 我想知道是否会对性能产生明显的影响 或者您认为易于开发更重要 我问这个是因为 LESS CSS 生成的是类似的东西 body div1 div2 p
  • 使用 SimpleXML 的 XML 声明标签

    我开始使用带有注释的简单 XML 框架 link http simple sourceforge net download stream doc tutorial tutorial php namesoace 对于 Java 但我不明白如何
  • matplotlib 图例位置编号

    我开始使用 Python 进行科学计算 而且我真的很喜欢它 但是我对 matplotlib pylab legend 函数的一个功能感到困惑 特别是 位置功能允许人们使用数字指定图例的位置 遵循以下方案 最好 0 右上角 1 左上 2 左下
  • 如何将对象字符串解析为javascript对象? [复制]

    这个问题在这里已经有答案了 我从数据库得到这个字符串 from 15 00 to 16 00 from 16 00 to 17 00 from 17 00 to 18 00 from 18 00 to 19 00 它是一个字符串 在这种情况
  • 在多个显示器上居中用户表单

    我在网上搜索了一段时间 确实找到了一些解决方案 但似乎没有一个对我有帮助 我在 Excel 2010 中有一个用户窗体 我想将其置于 Excel 窗口的中心 我有双显示器 它似乎总是在两个显示器之间居中 我知道您可以编辑一些属性 例如 St
  • Objective-C 中如何改变鼠标光标

    我正在制作一个图像编辑应用程序 但如果没有像 Photoshop 中的画笔那样的光标 它看起来非常不完整 如何设置图标 并在退出应用程序时将其更改回来 这是我的头文件中的代码 以防万一需要 interface test NSWindow
  • PHP:涉及爆炸键的映射数组[重复]

    这个问题在这里已经有答案了 在尝试使用多个 foreach 循环解决此问题后 我仍然不知道如何映射 arr to arr mapped 我需要爆炸钥匙 arr获取最多具有三个要创建的新键的元素 arr mapped