我正在寻找一种简洁优雅的方法来返回“ array_map
”中的多个元素。
我使用array_map
,array_reduce
和生成器的组合来构建东西,但是这种解决方案看起来像可以更干净地解决。
$a = [1,2,3];
$fun = function($a) {
yield $a + 1;
yield $a + 2;
};
function array_map_multiple($fun, $array) {
return array_reduce($array, function($carry, $item) use ($fun) {
return array_merge($carry, iterator_to_array($fun($item)));
}, []);
}
$b = array_map_multiple($fun, $a);