2011-07-18 37 views
6

我想动态创建一个N(不知道N)元素的数组。php - 动态创建一个用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循环。

还有其他解决方案吗?

+0

做你自己和其他人一个忙,只是使用array_fill – xzyfer

+0

是**'array_fill' **你最好的解决方案? – alesdario

+1

'array_fill'是一个核心功能 - 没有比这更快的了。您对“最佳解决方案”有什么期望? –

回答

19

其实对于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 
} 
*/ 
2
for ($i = 0; $i < $num_elements; $i++) { 
    $array[$i] = null; 
} 
+1

这是最明显的解决方案,也是最好的(对于我的测试),因为其他解决方案不会比这更快! – Melsi

0

不要array_fillforeach不行?

当然,我想到的最简单的办法是

​​

array_fill也应努力:

function create_array($num_elements) { 
    return array_fill(0, $num_elements, null); 
} 
0

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

$arr = array_fill($start_at, $num_elements, null); 
0
array_fill(0, $element, null); 

使用这个php函数,你可以用开始索引0创建数组,并且所有数据都会有空值。

相关问题