使用函数中的值创建PHP数组

时间:2017-09-19 20:06:38

标签: php arrays

我想创建一个包含x个元素的数组,其中每个元素都是通过调用函数创建的。我正在寻找一种惯用的方法,以最大限度地减少状态,特别是变异状态,并最大限度地减少命令性。

我有完成此任务的工作代码,更具体地说,它使用一个返回随机字符的函数创建一个包含10个元素的数组。

array_map(
    function() use ( $characters, $characterCount ) {
        return $characters[mt_rand( 0, $characterCount - 1 )];
    },
    array_fill( 0, 10, null )
)

从这开始,我正在寻找类似下面的内容,但没有找到它:

array_create(
    function() {},
    10
);

1 个答案:

答案 0 :(得分:3)

通常只需使用循环结构,如:

$array = array();
for($i = 0; $i < 10; $i++) {
    $array[] = randomfunction();
}

如果要将其包装在函数中,请执行以下操作:

function genArray($x, $func) {
    $array = array();
    for($i = 0; $i < $x; $i++) {
        $array[] = $func();
    }
    return $array;
}

然后你可以传递元素的数量和要使用的函数!