13

我想动态创建一个包含 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循环。

还有其他解决方案吗?

4

6 回答 6

46

实际上调用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
}
*/
于 2011-07-18T08:48:12.193 回答
3
for ($i = 0; $i < $num_elements; $i++) {
    $array[$i] = null;
}
于 2011-07-18T08:47:58.877 回答
0

array_fillforeach不工作?

当然,想到的最简单的解决方案是

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);
}
于 2011-07-18T08:48:21.367 回答
0

简单使用array_fill听起来像是最简单的解决方案:

$arr = array_fill($start_at, $num_elements, null);
于 2011-07-18T08:51:31.097 回答
0
array_fill(0, $element, null);

使用这个 php 函数,您可以创建起始索引为 0 的数组,并且所有数组都将具有空值。

于 2011-07-18T08:53:57.773 回答
0

foreach循环中,您可以简单地使用range()

于 2019-07-07T22:00:07.183 回答