数组:阅读速度比创建更快?

时间:2013-03-08 08:14:21

标签: php arrays

我需要一个预先填充数值的多维,如此;

for($m = 0; $m <= 149; $m++){
    for($n = 0; $n <= 99; $n++){
            $pitchDef[$m][$n] = 999;
    }
 }

但PHP是否可以更快地读取预先填充的数组?

换句话说,php读取或创建数组会更快吗?

3 个答案:

答案 0 :(得分:1)

array_fill(0, 150, array_fill(0, 100, 999));

我非常肯定你的速度和你的速度一样快......它比两个for循环快很多,但是当单独运行时,它们仍然很快。

答案 1 :(得分:1)

这可能会对你有所帮助 array_fill()

答案 2 :(得分:1)

每次向内存分配一个新变量都需要先了解内存是如何需要的,然后从系统中分配然后再写入。在这三个步骤中,写入本身(最后一个操作)与读取时间相同(我认为),但是整个任务更长,因为它还有两个步骤。

如果你有你的数组,在这个例子中,你甚至没有说数组有多大,所以每次编写PHP都需要改变整个数组的结构,然后为一个元素分配内存然后写它。

至少你可以在一开始为像ExplesionPills写的数组分配内存,然后访问数组。

最好的想法是比较(“基准”)两种方法,使它们运行多次(“很多”例如100万次)并查看执行时间。