假设有一n×m的二维数组,遍历其中每个元素时应该将n、m中大的放到内部的循环,减少变量的稀释次数,提高循环效率。举个例子:
$count = 0; $startsmall = microtime(); for($i=0;$i<100;$i++){ for($j=0;$j<10000;$j++){ $count++; } } $endsmall = microtime(); echo ($endsmall-$startsmall)."-".$count."\n"; $count = 0; $startbig = microtime(); for($i=0;$i<10000;$i++){ for($j=0;$j<100;$j++){ $count++; } } $endbig = microtime(); echo ($endbig-$startbig)."-".$count."\n";
程序执行结果:
显然执行逻辑一样的情况下第二个循环差将近0.06s。
大家还是要注意一下的。