我经常发现自己有一个指向其他数组的键数组,并希望获得相应的值。例如,如果我想选择一个随机子数组,该函数 array_rand($array)
将返回一个随机索引数组,我想获取这些值。除此之外还有很多示例,但一般问题(通常由函数式编程风格引起)是我有一个键数组并且需要相应值的数组。这是一种冗长的方法,但我想知道是否有一些更短的方法来完成这项频繁的任务?
方式1:
$array_of_values = array();
foreach($array_of_indices as $index)
$array_of_values[] = $array_of_data[$index];
方式2:
function index_array($index) { return $array_of_data[$index]; }
$array_of_values = array_map("index_array", $array_of_indices);
方式3:
$array_of_values = array_intersect_key($array_of_data,
array_fill_keys($array_of_indices, ''));
我希望存在一些可以做到这一点的单一功能,但在阅读完文档后我找不到。有人知道更好的方法吗?