Есть ли какой-либо метод (который не использует цикл или рекурсию) для создания и заполнения массива со значениями?
Чтобы быть точным, я хочу иметь эффект
$t = array();
for($i = 0; $i < $n; $i++){
$t[] = "val";
}
Но проще.
Есть ли какой-либо метод (который не использует цикл или рекурсию) для создания и заполнения массива со значениями?
Чтобы быть точным, я хочу иметь эффект
$t = array();
for($i = 0; $i < $n; $i++){
$t[] = "val";
}
Но проще.
используйте array_fill()
:
$t = array_fill(0, $n, 'val');
Я думаю, вы можете использовать
$array = array_pad(array(), $n, "val");
чтобы получить желаемый эффект.
Смотрите array_pad() на php.net
$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";
вы получаете идею
Это зависит от того, что вы имеете в виду. Есть функции для заполнения массивов, но все они будут использовать петли за кулисами. Предполагая, что вы просто хотите избежать циклов в своем коде, вы можете использовать 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
)
$a = array('key1'=>'some value', 'KEY_20'=>0,'anotherKey'=>0xC0DEBABE);
/* нам нужно свернуть целые массивы с сохранением безопасных ключей */
$a = array_fill_keys(array_keys($a),NULL);
var_export($a);
/*result:
array(
'key1'=>NULL,
'KEY_20'=>NULL,
'anotherKey'=>NULL
);
*/