【问题标题】:Compare associative array with standard array values PHP将关联数组与标准数组值 PHP 进行比较
【发布时间】:2023-03-08 15:30:01
【问题描述】:

我在一个关联数组中有一组 id 和名称,在我的另一个数组中我有我想要与第一个列表进行比较的 id 列表。

我希望能够在不丢失关联数组中的名称的情况下执行交集类型搜索功能。

我考虑过做一个嵌套的 foreach,但似乎这个过程可能需要很长时间,因为两个数组都可能有 70k+ 值。

【问题讨论】:

  • 请提供两个数组的简单示例。

标签: php arrays search


【解决方案1】:
$assoc = array(
  'a' => 'one',
  'b' => 'two',
);
$array = array('b', 'c', 'd');
$match = array_intersect_key($assoc, array_flip($array));
print_r($match);

输出:

Array
(
    [b] => two
)

我相信这就是你所追求的。

【讨论】:

  • @Cletus - 我认为你的意思是翻转 $assoc 而不是普通的 $array。
  • 不,以上是我的本意。它从 assoc 中返回元素,其键是 $array 中的值,我相信这是 OP 想要的。它这样做的同时保留了关联中的值。如果没有,我可以纠正。
  • @cletus +1 你是对的,在那个问题上浪费了你的时间,对不起。
  • 谢谢,太好了。正是我需要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 2015-09-29
  • 1970-01-01
  • 1970-01-01
  • 2013-09-25
  • 1970-01-01
相关资源
最近更新 更多