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
)
)