我想合并这两个数组的基础上,他们的关键,只保留关键匹配。合并的数组应该保留该键,并且该值应该来自第二个数组。PhP:合并具有匹配键的数组,并删除/删除额外的不匹配的值
阵列#1:美国我去过
Array
(
[AL] => 113
[AZ] => 83
[CA] => 50
[CO] => 1
...
阵列#2:所有国家
Array
(
[AL] => ALABAMA
[AK] => ALASKA
[AZ] => ARIZONA
[AR] => ARKANSAS
[CA] => CALIFORNIA
[CO] => COLORADO
[CT] => CONNECTICUT
...
所以,如果我去过的状态,我d喜欢从数组2中获取该状态的名称。并抛出数组#2中的任何不匹配的节点。
所需的结果
Array
(
[AL] => ALABAMA
[AZ] => ARIZONA
[CA] => CALIFORNIA
[CO] => COLORADO
...
我已经做了广泛的研究,在PHP手册和StackOverflow上,并不能找到一个特定的答案。我认为它可能存在于一个更复杂的用户定义函数中,而不是我现在能够做到的。
array_merge()
几乎我想要做什么,但随后补充说我也没去过到阵列
array_intersect_key()
也得到接近结束时的状态。它只保留匹配的键,但是却没有值。
['array_intersect_key()'](http://php.net/array_intersect_key)的问题可能是您的数组顺序错误。它保留了它传递的第一个数组的值,所以你希望array#2作为第一个参数,然后array#1作为第二个参数。 – Wiseguy 2013-03-09 03:18:07