Php 用另一个数组的值替换数组的键

Php 用另一个数组的值替换数组的键,php,arrays,Php,Arrays,我有一个数组结构,如下所示 Array ( [1] => Dept1 [2] => Dept2 [3] => Dept3 ) 我还有另一个数组,如下所示 Array ( [1] => Array ( [user1] => 58 [user3] => 75 ) [2] => Array ( [u

我有一个数组结构,如下所示

Array
(
    [1] => Dept1
    [2] => Dept2
    [3] => Dept3
)
我还有另一个数组,如下所示

Array
(
    [1] => Array
        (
            [user1] => 58
            [user3] => 75
        )

    [2] => Array
        (
            [user6] => 162
        )

    [3] => Array
        (
            [user7] => 2
            [user8] => 126
            [user9] => 148

        )
)
我想要

Array
    (
        [Dept1] => Array
            (
                [user1] => 58
                [user3] => 75
            )

        [Dept2] => Array
            (
                [user6] => 162
            )

        [Dept3] => Array
            (
                [user7] => 2
                [user8] => 126
                [user9] => 148

            )
    )
第二个数组中的数字是部门编号。它们的值出现在第一个数组中。我想用第一个数组中的值替换第二个数组中的部门号

我尝试过使用数组_replace(),但没有成功

请帮忙


提前感谢

如果第二个数组的元素少于查找数组,或者如果键的顺序不同,则需要先映射键值,然后使用组合键组合数组

否则,您可以立即合并它们:

array_combine($depts, $dept_values);

另请参见:

试试这个。基本上,加入爆炸将完成您的工作

<html>
<head>
<title>Copy to new array</title>
</head>
<body>
<?php
$dept= array('Dept1', 'Dept2', 'Dept3', 'Dept4');
$temp= join(",",$dept);
$department=explode(",",$temp);
echo "The first element in new array is: " . $department[0];
echo " and the second element in new array is: " . $department[1];
?>
</body>
</html>

复制到新阵列

此代码对我来说正如期工作:

PHP代码:

<?php
print_r(array_combine($firstArray, $secondArray));
?>
Array
(
    [Dept1] => Array
        (
            [user1] => 58
            [user3] => 75
        )

    [Dept2] => Array
        (
            [user6] => 162
        )

    [Dept3] => Array
        (
            [user7] => 2
            [user8] => 126
            [user9] => 148
        )

)

在此显示您的desire output Array请查看更新后的问题
DeptX
s是什么类型的?您只能将数字和字符串用作数组中的键。这是一个错误,因为两个参数的元素数应该相等。那么请使用任何其他解决方案。@1------使用您正在使用的实际数组更新您的问题将是一个好的开始。它与实际数组相同。没什么不同,只是价值观而已。但我在第二个数组中有10个值,在第一个数组中有9个值。我想那个人看到你们的答案和杰克的一样,所以他否决了你们。但还有一件事,这个答案只对具有相同值的数组有效。我的数组在某些情况下也有不同的值
Array
(
    [Dept1] => Array
        (
            [user1] => 58
            [user3] => 75
        )

    [Dept2] => Array
        (
            [user6] => 162
        )

    [Dept3] => Array
        (
            [user7] => 2
            [user8] => 126
            [user9] => 148
        )

)