2个数组使用PHP将数据匹配到1个数组中

2个数组使用PHP将数据匹配到1个数组中,php,arrays,json,Php,Arrays,Json,我有两个数组,第一个数组有我的项目的ItemID,第二个数组有关于我的项目的描述。我想将数据匹配到一个数组中 它看起来像: [rgInventory] => Array ( [1234567890] => Array ( [id] => 1234567890 [classid] => 123456789 [instanceid]

我有两个数组,第一个数组有我的项目的ItemID,第二个数组有关于我的项目的描述。我想将数据匹配到一个数组中

它看起来像:

[rgInventory] => Array
    (
        [1234567890] => Array
            (
                [id] => 1234567890
                [classid] => 123456789
                [instanceid] => 987654321
                [amount] => 1
                [pos] => 1
            )
    )

[rgDescriptions] => Array
    (
        [192837465_918273645] => Array
            (
                [appid] => 730
                [name] => Something
            )
    )
数组中的项与ID的值不同,但它们的顺序相同,因此:

rgInventory中第一项的说明位于rgDescriptions内的第一个数组中

我应该怎么做才能将
rgInventory
中的id
rgDescriptions
中的name匹配到同一数组中,例如
$backpack=array()

问候您。

您可以使用函数获取两个数组的每个元素,然后将其与合并,并将此新项目保存到备份数组中

试试这样的

<?php

$rgInventory = ['firstInv' => ['invId' => 1], 'secondInv' => ['invId' => 2]];
$rgDescriptions = ['firstDesc' => ['descId' => 1], 'secondDesc' => ['descId' => 2]];

if (count($rgInventory) && count($rgInventory) == count($rgDescriptions)) {
    $backpack = [];

    while($inventory = each($rgInventory)) {
        $description = each($rgDescriptions);
        $item = array_merge($inventory['value'], $description['value']);
        $backpack[] = $item;
    }

    var_dump($backpack);
}
您可以使用函数获取两个数组的每个元素,然后将其与合并,并将此新项保存到备份数组中

试试这样的

<?php

$rgInventory = ['firstInv' => ['invId' => 1], 'secondInv' => ['invId' => 2]];
$rgDescriptions = ['firstDesc' => ['descId' => 1], 'secondDesc' => ['descId' => 2]];

if (count($rgInventory) && count($rgInventory) == count($rgDescriptions)) {
    $backpack = [];

    while($inventory = each($rgInventory)) {
        $description = each($rgDescriptions);
        $item = array_merge($inventory['value'], $description['value']);
        $backpack[] = $item;
    }

    var_dump($backpack);
}
试试这个:

<?php
$array1 = array('rgInventory' => 
             array(
                    '1234567890' => array(
                                    'id' => 1234567890,
                                    'classid' => 123456789,
                                    'instanceid' => 987654321,
                                    'amount' => 1,
                                    'pos' => 1
                                    )
                        )
                );

$array2 = array(
               'rgDescriptions' => array(
                     '192837465_918273645' => array(
                            'appid' => 730, 'name' => 'Something')
                                    )
               );
将两个数组放在一个数组中
$newarray

$newonearray = array_sum_recursive($array1, $array2);
echo '<pre>';
print_r($newonearray);

?>
希望这能有所帮助。

试试这个:

<?php
$array1 = array('rgInventory' => 
             array(
                    '1234567890' => array(
                                    'id' => 1234567890,
                                    'classid' => 123456789,
                                    'instanceid' => 987654321,
                                    'amount' => 1,
                                    'pos' => 1
                                    )
                        )
                );

$array2 = array(
               'rgDescriptions' => array(
                     '192837465_918273645' => array(
                            'appid' => 730, 'name' => 'Something')
                                    )
               );
将两个数组放在一个数组中
$newarray

$newonearray = array_sum_recursive($array1, $array2);
echo '<pre>';
print_r($newonearray);

?>

希望这会有所帮助。

您可以使用
array\u merge()
@Drudge,但是
array\u merge()
rgDescription
中的第一项不匹配。如何将
rgInventory
中的第一项与
rgDescription
中的第一项匹配??没有什么共同点。我不知道,这就是我为什么在这里问的原因。也许我可以使用
for()
并按顺序添加
rgInventory
中的值,然后按相同顺序添加
rgDescriptions
中的值?但是怎么做呢?你能给我们看看你试过的代码吗?你可以使用
array\u merge()
@Drudge但是
array\u merge())
无法将
rgInventory
中的第一项与
rgDescription
中的第一项匹配。如何将
rgInventory
中的第一项与
rgDescription
中的第一项匹配??没有什么共同点。我不知道,这就是我为什么在这里问的原因。也许我可以使用
for()
并按顺序添加
rgInventory
中的值,然后按相同顺序添加
rgDescriptions
中的值?但如何做到这一点?你能告诉我们你的代码,你已经尝试??