我想根据它们的键合并这两个数组,并且只保留键匹配。合并后的数组应保留键,值应来自第二个数组。
数组 #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
...
所以,如果我去过一个州,我想从数组 2 中获取该州的名称。并从数组 #2 中抛出任何不匹配的节点。
期望的结果
Array
(
[AL] => ALABAMA
[AZ] => ARIZONA
[CA] => CALIFORNIA
[CO] => COLORADO
...
我在 PHP 手册和 StackOverflow 上进行了广泛的研究,但找不到特定的答案。我认为它可能存在于一个比我目前能力更复杂的用户定义函数中。
array_merge()
几乎做了我想要的,但随后它将我没有访问过的状态添加到数组的末尾
array_intersect_key()
也接近了。它只保留匹配的键,但随后会删除值。