php - 通过键合并(合并)2 个数组并更改结果数组中的键名

标签 php arrays

我有这两个数组作为输出:

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数组的键值,所以它看起来像这样:

欲望输出

['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_combinearray_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);

注意 array_mapnull 的使用。来自文档:

An interesting use of this function is to construct an array of arrays, which can be easily performed by using NULL as the name of the callback function

这样你就可以合并更多的数组 - 只要记住将正确的键添加到 $keys

实例:3v4l

关于php - 通过键合并(合并)2 个数组并更改结果数组中的键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902146/

相关文章:

java - 我应该如何使用 Jackson 将 JSON(其键之一包含数组结构)解析为对象?

php - 在 php 函数返回值中使用变量

php - 验证 header 为 "origin"的 HTTP 请求

JAVA二维数组代码

java - 更改矩形二维数组中的值

java - 根据 Input Java 更改 Array 初始化

php - javascript 弹出窗口在一段时间后停止

javascript - 需要从表单中获取输入,使用 php 进行处理,并可以选择根据答案重新加载页面

php - 在数组中搜索两个值

jQuery 在字符串中添加数字