PHP:初始化大量多维数组的最有效方法?

时间:2019-08-21 05:26:46

标签: php arrays multidimensional-array

在PHP中初始化大量多维数组的最有效方法是什么?

示例:我将创建100个如下所示的多维数组:

Array
(
    [1] => Array
        (
            [multi] => 1
        )

    [2] => Array
        (
            [multi] => 2
        )

    [3] => Array
        (
            [multi] => 3
        )

    [4] => Array
        (
            [multi] => 4
        )

    [5] => Array
        (
            [multi] => 5
        )
      .......
)

当前,我正在使用以下代码创建上面显示的数组:

// 100 arrays
for($i=1; $i<=100; $i++){
   $array[$i]['multi']=$i;
}

我还发现了使用array_fill()array_fill_keys()的另一种方法,但是它只允许在数组中初始化相同的值:

$array = array_fill(1, 100, array_fill_keys(array("multi"), "value_here"));

问题:在速度方面,有没有更有效的方法来初始化这种数组?

1 个答案:

答案 0 :(得分:1)

您可以在所需的值范围内使用array_map

$array = array_map(function ($v) { return array('multi' => $v); }, range(0, 5));
print_r($array);

输出:

Array
(
    [0] => Array
        (
            [multi] => 0
        )
    [1] => Array
        (
            [multi] => 1
        )
    [2] => Array
        (
            [multi] => 2
        )
    [3] => Array
        (
            [multi] => 3
        )
    [4] => Array
        (
            [multi] => 4
        )
    [5] => Array
        (
            [multi] => 5
        )
)

如果您不想使用0元素,只需unset($array[0]);

Demo on 3v4l.org

相关问题