本文介绍了合并2阵列,并结合数字键的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有2个阵列,其中我想每个数字键融合在一起/组。
例如:
I have 2 arrays in which I wish to merge/group together by each numerical key. eg
Array1
(
[2009] => 131
[2008] => 940
[2007] => 176
[2006] => 1
)
Array2
(
[2008] => 9
[2007] => 3
)
我想输出是:
Array (
[2009] => 131
[2008] => Array (
[0]=>940
[1]=>9
)
[2007] => Array (
[0]=>176
[1]=>3
)
[2006] => 1
)
在地球上我如何实现这一目标?我曾尝试array_merge,但我失去了我的钥匙,他们没有得到分组。
How on earth do I achieve this? I have tried array_merge but I lose my keys and they don't get grouped.
推荐答案
我终于找到这个功能,帮助我。谢谢大家对您的输入。
I eventually found this function that helped me. Thank you everyone for your input.
function merge_common_keys()
{
$arr = func_get_args();
$num = func_num_args();
$keys = array();
$i = 0;
for ($i = 0; $i < $num; ++$i) {
$keys = array_merge($keys, array_keys($arr[$i]));
}
$keys = array_unique($keys);
$merged = array();
foreach ($keys as $key) {
$merged[$key] = array();
for ($i = 0; $i < $num; ++$i) {
$merged[$key][] = isset($arr[$i][$key]) ? $arr[$i][$key] : null;
}
}
return $merged;
}
这篇关于合并2阵列,并结合数字键的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!