php数组索引

时间:2012-06-12 11:48:55

标签: php arrays optimization indexing

有没有人比简单地编写循环和手工构建数组更好(更短/更优雅)的方式来执行以下操作:

我有一个名为$data的数组和另一个名为$indicies的数组。 $indicies     数组包含一堆我想要应用于$data数组的指标     一个子集。例如,如果我使用更多元素运行array_rand     比1,我会得到一系列的指标,但我真的想要数据数组     items并且必须循环以构建该子集。

我在想,可能会有一些地图缩小方式来巧妙地做到这一点,我不知道。有人有主意吗?这是我现在要做的一个例子

$indicies = array_rand($data,6); //get 6 random indicies to the data
$subset = array();
foreach($indicies as $index)
    $subset[] = $data[$index];

这里有类似于我想做的事情

$subset = $data[array_rand($data,6)];

1 个答案:

答案 0 :(得分:2)

没有测试,应该工作

$result = array_intersect_key(
  $data,
  array_fill_keys($indices, null)
);