简体   繁体   English

如何比较两个数组的键和值?

[英]How to compare two arrays keys and values?

I have two arrays where the first array keys are similar to second array values. 我有两个数组,其中第一个数组键类似于第二个数组值。 I'd like to get a new array with values which are not in the first one. 我想获得一个新数组,其值不在第一个数组中。 I tried to use array_intersect , but the result wasn't what I expected. 我尝试使用array_intersect ,但结果不是我期望的。

Here is a sample of the two arrays: 这是两个数组的示例:

$array1 = array(
    'A' => 10,
    'B' => 20,
    'C' => 30,
    'D' => 40,
);
$array2 = array(
    '0' => 'A',
    '1' => 'B',
);

And I'm looking for a new array like this: 我正在寻找这样的新数组:

$array3 = array(
    '0' => 'C',
    '1' => 'D',
);

You can use this code: 您可以使用以下代码:

$array1 = array('A' => 10,'B' => 20,'C' => 30,'D' => 40);
$array2 = array('0' => 'A','1' => 'B');
$array3 = array_keys(array_diff_key($array1, array_flip($array2)));

我的建议是使用array_diff ,但问题是它没有设置键

$array3 = array_diff(array_keys($array1, $array2))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM