干净的方法来返回array_map中的多个元素

时间:2018-06-28 16:42:32

标签: php

我正在寻找一种简洁优雅的方法来返回“ array_map”中的多个元素。

我使用array_maparray_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);

0 个答案:

没有答案