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

时间:2015-10-07 21:37:00

标签: php arrays

我有两个数组,其中第一个数组键与第二个数组值相似。我想获得一个新数组,其值不在第一个中。我尝试使用array_intersect,但结果并非我的预期。

以下是两个数组的示例:

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

我正在寻找一个像这样的新阵列:

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

2 个答案:

答案 0 :(得分:1)

您可以使用此代码:

$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)));

答案 1 :(得分:0)

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

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