PHP中创建一个增量数组最简单的方法是什么?

5
我想知道创建一个递增数组的最简单方法是什么?
$myarray = array('test1', 'test2', 'test3', 'test4, 'test5', 'test6', 'test7', 'test8');

当然,我可以使用“for”循环......
for ($i=1;$i<=8;$i++){
    $myarray[] = 'test'.$i;
}

...但您是否知道我是否可以使用本地的PHP函数(或类似的东西)来实现更好的效果?


这个问题的意义是什么?循环有什么问题吗? - Brad
2
我认为你的方法还不错。它能够以最少的资源实现预期功能。就这样保持不变吧。 - Daniel
好的,谢谢你的回答,Daniel。 - Dacobah
range('a', 'z'); 会生成一个包含从a到z的所有字符的数组,range(0, 5); 则会生成一个包含从0到5的所有数字的数组。 - powtac
1个回答

2
这里有一种使用array_map()range()的方法:
$array = array_map(function($n){ return "test" . $n;}, range(1, 8));

print_r($array);
Array
(
    [0] => test1
    [1] => test2
    [2] => test3
    [3] => test4
    [4] => test5
    [5] => test6
    [6] => test7
    [7] => test8
)

我不确定是否会选择使用这种方法,而不是像你的例子一样使用普通的循环。唯一的好处是range()比增量式的for循环更容易使用。对于这么简单的情况,array_map()的匿名函数增加的复杂性可能不值得。


同意Michael的观点。我正在查看array_fill(http://us2.php.net/manual/en/function.array-fill.php),但它只能使用静态值预填充。 - Mike Purcell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接