如何在PHP中使用array_fill函数创建数组?

时间:2014-07-07 07:10:33

标签: php arrays php-5.3

我想创建一个如下所示的数组

array(2) {
  [0]=>
  array(2) {
    [0]=>
    int(1)
    [1]=>
    int(0)
  }
  [1]=>
  array(2) {
    [0]=>
    int(2)
    [1]=>
    int(0)
  }
}

这里内部数组的第一个元素是增量的,第二个元素总是0个。外部数组的长度应该是30个。我花了很多时间在它上面但是我的解决不了。 你们中的任何人都可以帮助我吗? 感谢

3 个答案:

答案 0 :(得分:4)

您可以使用array_map()range()

来实现
$o = array_map(function($a) { return array($a, 0); }, range(1, 30));

Demo

答案 1 :(得分:1)

array_fill()函数创建一个数组,其中所有元素都相同。你要求的数组元素并不完全相同,所以你不能简单地通过使用array_fill()来创建它。

$array = array_fill(0, 2, array_fill(0, 2, 0)); 
array_walk($array, function(&$value, $key) { $value[0] = $key+1; });

答案 2 :(得分:1)

也许你想要这样的东西?

<?php
function initArray() {
    $array = array();
    for ($i = 1; $i <= 30; $i++) {
        $array[] = array($i, 0);
    }

    return $array;
}

// now call the initArray() function somewhere you need it
$myFancyArray = initArray();
?>