我想基于它们的键合并这两个数组,并且只保留关键匹配.合并的数组应保留键,值应来自第二个数组.
数组#1:我访问过的国家
Array
(
[AL] => 113
[AZ] => 83
[CA] => 50
[CO] => 1
...
Run Code Online (Sandbox Code Playgroud)
阵列#2:所有国家
Array
(
[AL] => ALABAMA
[AK] => ALASKA
[AZ] => ARIZONA
[AR] => ARKANSAS
[CA] => CALIFORNIA
[CO] => COLORADO
[CT] => CONNECTICUT
...
Run Code Online (Sandbox Code Playgroud)
所以,如果我去过某个州,我想从数组2中获取该状态的名称.并从数组#2中删除任何不匹配的节点.
期望的结果
Array
(
[AL] => ALABAMA
[AZ] => ARIZONA
[CA] => CALIFORNIA
[CO] => COLORADO
...
Run Code Online (Sandbox Code Playgroud)
我已经在PHP手册和StackOverflow上做了大量的研究,但是找不到具体的答案.我认为它可能在于比我现在能够更复杂的用户定义函数.
array_merge() 几乎可以做我想要的,但是然后它将我没有访问过的状态添加到数组的末尾
array_intersect_key()也接近了.它只保留匹配的键,但随后它会删除值.