Ответ 1
На самом деле достаточно вызова array_fill
:
//...
public function create_array($num_elements){
return array_fill(0, $num_elements, null);
}
//..
var_dump(create_array(3));
/*
array(3) {
[0]=> NULL
[1]=> NULL
[2]=> NULL
}
*/
Я хочу создать динамически массив с элементами N (без знаковых N).
Что-то вроде функции
public function create_array($num_elements){
.....
}
которые возвращают мне что-то вроде
//call the function....
create_array(3);
//and the output is:
array{
0 => null
1 => null
2 => null
}
Я уже думал о array_fill
и простеньком foreach
.
Есть ли другие решения?
На самом деле достаточно вызова array_fill
:
//...
public function create_array($num_elements){
return array_fill(0, $num_elements, null);
}
//..
var_dump(create_array(3));
/*
array(3) {
[0]=> NULL
[1]=> NULL
[2]=> NULL
}
*/
for ($i = 0; $i < $num_elements; $i++) {
$array[$i] = null;
}
Do array_fill
и foreach
не работают?
Конечно, самое простое решение, которое приходит на ум, - это
function create_array($num_elements) {
$r = array();
for ($i = 0; $i < $num_elements; $i++)
$r[] = null;
return $r;
}
array_fill
также должен работать:
function create_array($num_elements) {
return array_fill(0, $num_elements, null);
}
Простое использование array_fill
звучит как самое простое решение:
$arr = array_fill($start_at, $num_elements, null);
array_fill(0, $element, null);
используя эту функцию php, вы можете создать массив с начальным индексом 0, и все будут иметь нулевое значение.
В цикле foreach вы можете просто использовать range()