我有一个数组:

$array = array(
  'key1' => 'value1',
  'key2' => 'value2',
  'key3' => 'value3',
  'key4' => 'value4',
  'key5' => 'value5',
);

我想用指定的键来获得它的一部分-例如key2, key4, key5
预期结果:
$result = array(
  'key2' => 'value2',
  'key4' => 'value4',
  'key5' => 'value5',
);

最快的方法是什么?

最佳答案

您需要array_intersect_key功能:

$result = array_intersect_key($array, array('key2'=>1, 'key4'=>1, 'key5'=>1));

如果您的键作为值在数组中,则array_flip也有帮助:
$result = array_intersect_key(
    $array,
    array_flip(array('key2', 'key4', 'key5'))
);

08-17 13:35