Какой самый простой способ создать инкрементный массив с помощью PHP?

#php #arrays

#php #массивы

Вопрос:

Я просто хотел бы знать, какой самый простой способ создать инкрементный массив?

 $myarray = array('test1', 'test2', 'test3', 'test4, 'test5', 'test6', 'test7', 'test8');
  

Конечно, я могу использовать цикл «for»…

 for ($i=1;$i<=8;$i  ){
    $myarray[] = 'test'.$i;
}
  

…но знаете ли вы, могу ли я добиться большего успеха с помощью встроенной функции php (или чего-то подобного)?

Комментарии:

1. В чем смысл этого вопроса? Что не так с циклом?

2. Я думаю, что ваш способ довольно хорош. Он делает то, что ему положено, с минимальными ресурсами. Просто оставьте это так

3. Хорошо, спасибо, Дэниел, за твой ответ.

4. диапазон(‘a’, ‘z’); генерирует массив, содержащий все символы от a до z, диапазон(0, 5); массив, содержащий все числа от 0 до 5. …

Ответ №1:

Вот метод, использующий 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() , вероятно, не стоит того для такого простого случая.

Комментарии:

1. Согласен с Майклом. Смотрел на array_fill ( us2.php.net/manual/en/function . array-fill.php ), но он только предварительно заполняется статическим значением.