编程语言
首页 > 编程语言> > PHP:如何比较一个数组中的键与另一个数组中的值,并返回匹配?

PHP:如何比较一个数组中的键与另一个数组中的值,并返回匹配?

作者:互联网

我有以下两个数组:

$array_one = array('colorZero'=>'black', 'colorOne'=>'red', 'colorTwo'=>'green', 'colorThree'=>'blue', 'colorFour'=>'purple', 'colorFive'=>'golden');

$array_two = array('colorOne', 'colorTwo', 'colorThree');

我想要一个来自$array_one的数组,它只包含其键是$array_two成员的键值对(通过创建一个新数组或从$array_one中删除其余元素)

我怎样才能做到这一点?

我查看了array_diff和array_intersect,但是它们将值与值进行比较,而不是将一个数组的值与另一个数组的值进行比较.

解决方法:

如果我正确理解这一点:

返回一个新数组:

$array_new = [];
foreach($array_two as $key)
{
    if(array_key_exists($key, $array_one))
    {
        $array_new[$key] = $array_one[$key];
    }
}

从$array_one中剥离:

foreach($array_one as $key => $val)
{
    if(array_search($key, $array_two) === false)
    {
        unset($array_one[$key]);
    }
}

标签:array-difference,php,arrays,compare,array-intersect
来源: https://codeday.me/bug/20191005/1857300.html