php - 通过键组合(合并)2个数组并更改结果数组中的键名
问题描述
我有这两个数组作为输出:
Value Array
(
[0] => 10100153
[1] => 2007
[2] => 350
[3] => 804082
[4] => WW006
[5] => WHT/NNY/OXGM
[6] => 35/38
[7] => 804082 WW00635/38
[8] => 0,00138857
[9] => Champion 3pk Quarter Socks
)
Numbers Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
[6] => 7
[7] => 8
[8] => 9
[9] => 10
)
我想将它们组合起来,并在 value 中更改 value 数组的键值,在 numbers 中更改 numbers 数组,所以它看起来像这样:
期望输出
['Value' => '10100153', 'Number' => 1],
['Value' => '2007', 'Number' => 2],
['Value' => '390', 'Number' => 3],
['Value' => '804715', 'Number' => 4],
['Value' => 'WW001', 'Number' => 5],
['Value' => 'WHT/WHT/WHT', 'Number' => 6],
['Value' => '39/42', 'Number' => 7],
['Value' => '804715 WW00139/42', 'Number' => 8],
['Value' => '0.00138857', 'Number' => 9],
['Value' => '3pk Quarter Socks', 'Number' => 10]
我只能找到array_combine
and array_merge
,但array_merge
只是将数字数组添加到值数组的末尾,array_combine
并将数字添加到值数组的文本末尾
解决方案
您可以使用array_map
( doc ) 和array_combine
( doc ) 作为:
$res = array_map(null, $valuesArray, $numbersArray);
$keys = array("Value", "Number");
$res = array_map(function ($e) use ($keys) {return array_combine($keys, $e);}, $res);
注意null
in的使用array_map
。从文档:
这个函数的一个有趣的用途是构造一个数组数组,通过使用NULL作为回调函数的名称可以很容易地执行
这样您就可以合并更多的数组 - 只需记住将正确的键添加到$keys
现场示例:3v4l
推荐阅读
- c# - C#:这个语句在做什么?dynObj.@switch == 1 ?真假
- java - 如何使用链表实现退出堆栈?
- java - 无法通知依赖解析侦听器
- silverstripe - 由 js 填充的 SilverStripe DropdownField - [值] 不是有效选项
- excel - COUNTIFS 函数跨多个工作表工作
- reactjs - 两个具有相同元素的孩子做出反应。当我尝试删除其中一个 div 时,它会同时删除
- nvidia - Kubundu 20.04 在 Intel 和 Nvidia GPU 之间切换
- python - 使用深度学习和烧瓶的聊天机器人。但机器人没有给出回应
- reactjs - 无法通过 props 导入的图片
- c - 如何将用逗号分隔的浮点值字符串存储到浮点数组中?