Fill array with values without loop in PHP

Is there any method (that doesn't use loop or recursion) to create and fill an array with values?

To be precise, I want to have an effect of

$t = array();
for($i = 0; $i < $n; $i++){
    $t[] = "val";
}

But simpler.

11
задан Pang 3 October 2016 в 06:44
поделиться

4 ответа

используйте array_fill () :

$t = array_fill(0, $n, 'val');
31
ответ дан 3 December 2019 в 02:01
поделиться

Я думаю, вы можете использовать

$array = array_pad(array(), $n, "val");

, чтобы получить желаемый эффект.

См. array_pad () на php.net

3
ответ дан 3 December 2019 в 02:01
поделиться

Все зависит от того, что вы имеете в виду. Есть функции для заполнения массивов, но все они будут использовать циклы за кулисами. Предполагая, что вы просто хотите избежать циклов в вашем коде, вы можете использовать array_fill :

// Syntax: array_fill(start index, number of values; the value to fill in);
$t = array_fill(0, $n, 'val');

Т.е.

<?php
    $t = array_fill(0, 10, 'val');
    print_r($t);
?>

Выдает:

Array (
    [0] => val
    [1] => val
    [2] => val
    [3] => val 
    [4] => val 
    [5] => val 
    [6] => val 
    [7] => val 
    [8] => val 
    [9] => val 
)
0
ответ дан 3 December 2019 в 02:01
поделиться
$a = array(); 
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";
$a[] = "value";    

вы поняли

0
ответ дан 3 December 2019 в 02:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: