array_fill增加$ i值

时间:2017-09-26 16:54:17

标签: php arrays

是否有像array_fill之类的函数,它允许我用相同的字符串填充数组("字段_"),并结合增加的$ i变量,如下所示:

private function fields() {
    $result = [];

    foreach(range(1,44) as $i) {
        $result[] = "field_$i";
    }

    return $result;
}

我知道php中有很多功能,我很乐意将它放在一行(如果可能的话)。

3 个答案:

答案 0 :(得分:4)

您可以使用array_map来消除对显式循环的需求,但我不认为将它放在一行可以提高您的可读性:

$results = array_map(function ($i) { return "field_{$i}"; }, range(1, 44));

=

Array
(
  [0] => field_1
  [1] => field_2
  ...

答案 1 :(得分:1)

我发现this,似乎比foreach快3倍,这是迄今为止我能找到的最短解决方案。

$prefixed_array = preg_filter('/^/', 'prefix_', $array);

答案 2 :(得分:0)

Php的foreach循环实际上允许您访问当前索引

private function fields() {
    $result = [];

    foreach(range(1,44) as $k => $i) {
        $result[] = "field_$k";
    }

    return $result;
}