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_diffarray_intersect,但它们将值与值进行比较,而不是将一个数组的值与另一个数组的键进行比较.

推荐答案

更新

查看 Michel 的答案:https://stackoverflow.com/a/30841097/2879722.这是一个更好、更简单的解决方案.

原答案

如果我理解正确:

返回一个新数组:

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

好了关于PHP:怎么将一个数组中的键与另一个数组中的值进行比较,并返回匹配项?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。

0
没有账号?注册  忘记密码?