如何在php中组合类似键上的数组?
我遇到这种情况如何在php中组合类似键上的数组?,php,arrays,array-merge,Php,Arrays,Array Merge,我遇到这种情况$test: $months = Array ( [3] => 7.56 [7] => 11.94 [1] => 6.90 [17] => 6.90 [
$test
:
$months = Array
(
[3] => 7.56
[7] => 11.94
[1] => 6.90
[17] => 6.90
[6] => 6.90
[4] => 19.50
)
$total = Array
(
[31] => 10
[17] => 4
)
我希望以这样的方式将它们组合在一起,我将得到$x=array([17]=>6.90)
基本上将$months
中的值和$total
中的键放在一起,其中$months.key
=$total.key
有什么想法吗
谢谢如果我没弄错的话,这可能是阵列合并的工作
$x = array_merge($months,$total);
如果我没弄错的话,这可能是数组合并的工作
$x = array_merge($months,$total);
您应该尝试使用数组相交键()
从文档:
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
“array_intersect_key()返回一个数组,该数组包含array1的所有条目,这些条目的键在所有参数中都存在。”
因此,如果您希望始终使用第一个数组的“值”,这就是解决方案。您应该尝试使用数组相交键()
从文档:
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_key($array1, $array2));
?>
“array_intersect_key()返回一个数组,该数组包含array1的所有条目,这些条目的键在所有参数中都存在。”
因此,如果您始终想要第一个数组的“值”,这就是解决方案。您能进一步解释您想要的结果和给定的问题吗?我很难理解你在寻找什么。你能进一步解释一下你想要的结果和给定的问题吗?我很难理解你在寻找什么。是的——我假设OP会知道,这不是为了让他的代码功能完整,而是为了解决他的问题:)是的——我假设OP会知道,这不是为了让他的代码功能完整,这是为了解决他的问题:)这在功能上比我的解决方案更正确,假设0是一个月的有效值,我的示例可能设置不正确。这在功能上比我的解决方案更正确,假设0是一个月的有效值,我的示例可能设置不正确。
array(2) {
["blue"]=>
int(1)
["green"]=>
int(3)
}