从array1中删除array1中的元素

时间:2011-06-10 13:30:28

标签: php arrays

我的数组看起来像这样:

$array1 = array(
    'peter@example.com' => array(
        'peter' => 'Smith',
    ),
    'john@example.com' => array(
        'john' => 'Smith',
    ),
    'louis@example.com' => array(
        'louis' => 'Smith',
    ),
    'jane@example.com' => array(
        'jane' => 'Smith',
    ),
);


$array2 = array(
    '0' => 'peter@example.com',
    '1' => 'john@example.com',
);

如何删除array1中与array2匹配的数组元素?

2 个答案:

答案 0 :(得分:9)

简单如下:

$diff = array_diff_key($array1, array_flip($array2));

答案 1 :(得分:0)

快速简便(但不像deceze的方法那么快捷,轻松)

foreach ($array1 as $key => $value) {
    for ($i = 0; $i < count($array2); $i++) {
        if ($key == $array2[$i]) {
            unset($array1[$key]);
        }
    }
}