【问题标题】:How to remove elements of an array that match elements in another array如何删除与另一个数组中的元素匹配的数组元素
【发布时间】:2013-11-10 20:44:59
【问题描述】:

我想编写一个函数来查找一维非关联数组中所有元素的匹配项,并从另一个一维非关联数组(包括索引)中完全删除这些元素。下面是一个示例。

<?php

function magicfunc($colors, $remove) {
    // some magic here
}

EXAMPLE:

$colors = array(
                'red',
                'green',
                'blue',
                'purple',
                'green',
                'yellow',
                'pink',
                'orange'
            );
$remove = array(
                'green',
                'white',
                'pink'
            );
magicfunc($colors, $remove);

WOULD RETURN:
Array
(
    [0] => red
    [1] => blue
    [2] => purple
    [3] => yellow
    [4] => orange
)

我怎样才能做到这一点?请注意可能存在多次匹配的元素(绿色),也可能没有匹配特定元素的元素被删除(白色)。该函数不应该有这些突发事件的问题。

【问题讨论】:

标签: php arrays


【解决方案1】:

试试 array_diff : http://us3.php.net/array_diff

<?php
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);
?>

结果:

Array
(
    [1] => blue
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    相关资源
    最近更新 更多