1

我有以下数组:

$keys

array (size=2)
  0 => string 'foo' (length=3)
  1 => string 'buz' (length=3)

$data

array (size=3)
  'foo' => int 1
  'bar' => int 2
  'buz' => int 3

如何获取按值$data过滤的数组?$keys期望的输出:

array (size=3)
  'foo' => int 1
  'buz' => int 3
4

1 回答 1

5

array_intersect_key应该可以在这里帮助你

array_intersect_key($data, array_flip($keys));

之所以array_flip需要,是因为array_intersect_key对键进行操作,因此可以确保两个数组的格式都正确。

演示:http ://codepad.org/AGpDAZtE

于 2013-10-30T16:07:07.370 回答