有沒有像array_fill
的功能,讓我充滿了相同的字符串(「field_」)的陣列,越來越$變量i這樣的組合:
private function fields() {
$result = [];
foreach(range(1,44) as $i) {
$result[] = "field_$i";
}
return $result;
}
我知道在PHP中有一堆功能,我很想在一行(如果可能的話)。
有沒有像array_fill
的功能,讓我充滿了相同的字符串(「field_」)的陣列,越來越$變量i這樣的組合:
private function fields() {
$result = [];
foreach(range(1,44) as $i) {
$result[] = "field_$i";
}
return $result;
}
我知道在PHP中有一堆功能,我很想在一行(如果可能的話)。
我發現this,似乎比foreach快3倍,這是迄今爲止我能找到的最短解決方案。
$prefixed_array = preg_filter('/^/', 'prefix_', $array);
你可以使用array_map
刪除一個顯式循環的需要,但我不認爲把它放在一個行獲得你多少可讀性方面:
$results = array_map(function ($i) { return "field_{$i}"; }, range(1, 44));
=
Array
(
[0] => field_1
[1] => field_2
...
Php的foreach
環實際上允許您訪問當前索引
private function fields() {
$result = [];
foreach(range(1,44) as $k => $i) {
$result[] = "field_$k";
}
return $result;
}
數據庫的那些'field_X'列名可能嗎? – Qirel
只要你看到'field_1'' field_2'等,你應該考慮一個數組。 – AbraCadaver
@Qirel是的。 – Basti