我需要一个预先填充数值的多维,如此;
for($m = 0; $m <= 149; $m++){
for($n = 0; $n <= 99; $n++){
$pitchDef[$m][$n] = 999;
}
}
但PHP是否可以更快地读取预先填充的数组?
换句话说,php读取或创建数组会更快吗?
答案 0 :(得分:1)
array_fill(0, 150, array_fill(0, 100, 999));
我非常肯定你的速度和你的速度一样快......它比两个for循环快很多,但是当单独运行时,它们仍然很快。
答案 1 :(得分:1)
这可能会对你有所帮助 array_fill()
答案 2 :(得分:1)
每次向内存分配一个新变量都需要先了解内存是如何需要的,然后从系统中分配然后再写入。在这三个步骤中,写入本身(最后一个操作)与读取时间相同(我认为),但是整个任务更长,因为它还有两个步骤。
如果你有你的数组,在这个例子中,你甚至没有说数组有多大,所以每次编写PHP都需要改变整个数组的结构,然后为一个元素分配内存然后写它。
至少你可以在一开始为像ExplesionPills写的数组分配内存,然后访问数组。
最好的想法是比较(“基准”)两种方法,使它们运行多次(“很多”例如100万次)并查看执行时间。