是否有像array_fill
之类的函数,它允许我用相同的字符串填充数组("字段_"),并结合增加的$ i变量,如下所示:
private function fields() {
$result = [];
foreach(range(1,44) as $i) {
$result[] = "field_$i";
}
return $result;
}
我知道php中有很多功能,我很乐意将它放在一行(如果可能的话)。
答案 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;
}