如何有效地提取基于一组键的子数组


How to efficiently extract a sub array based upon a set of keys

我有一个数组$data.

print_r($data); 

返回<>以前阵列([1401] => Array ([0] => 94 [1] => 2 [2] => 159)[1402] =>阵列([0]=> 94 [1]=> 2 [2]=> 50 [3]=> 23 [4]=> 159)[1403] => Array ([0] => 94 [1] => 2 [2] => 50)[1404] =>阵列([0]=> 94 [1]=> 90 [2]=> 50 [3]=> 23)[1405] => Array ([0] => 94 [1] => 90)[1406] => Array ([0] => 94 [1] => 90 [2] => 23)[1407] => Array ([0] => 94 [1] => 90 [2] => 50)) 之前

键是一组数字。我需要从这个数组中提取一个子数组,它只有键存储在另一个变量中。

$toextract=array(1402,1406);

除了用循环逐个构建新数组之外,还有更简单的方法吗?我将需要多次运行这个命令,所以快速是非常重要的。

 $result = array_intersect_key($data, array_flip(array(1402, 1406));

array_intersect_key()