有没有人比简单地编写循环和手工构建数组更好(更短/更优雅)的方式来执行以下操作:
我有一个名为$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)];
答案 0 :(得分:2)
没有测试,应该工作
$result = array_intersect_key(
$data,
array_fill_keys($indices, null)
);