小编JoM*_*Web的帖子

PhP:合并具有匹配键的数组并删除/删除额外的不匹配值

我想基于它们的键合并这两个数组,并且只保留关键匹配.合并的数组应保留键,值应来自第二个数组.

数组#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()也接近了.它只保留匹配的键,但随后它会删除值.

php arrays merge key key-value

1
推荐指数
1
解决办法
2237
查看次数

标签 统计

arrays ×1

key ×1

key-value ×1

merge ×1

php ×1