我经常sizeof($var)在我的Web应用程序上使用该函数,并且我想知道是否更好(在资源术语中)将此值存储在一个新变量中并使用此变量,或者如果每次该函数更好地调用/使用它; 或者也许是漠不关心的:)
TLDR:最好设置一个变量,sizeof()只调用一次。(海事组织)
我对这个小数组的循环方面进行了一些测试:
$myArray = array("bill", "dave", "alex", "tom", "fred", "smith", "etc", "etc", "etc");
// A)
for($i=0; $i<10000; $i++) {
echo sizeof($myArray);
}
// B)
$sizeof = sizeof($myArray);
for($i=0; $i<10000; $i++) {
echo $sizeof;
}
Run Code Online (Sandbox Code Playgroud)
包含 9 个项目的数组:
A) took 0.0085 seconds
B) took 0.0049 seconds
Run Code Online (Sandbox Code Playgroud)
包含 180 个项目的数组:
A) took 0.0078 seconds
B) took 0.0043 seconds
Run Code Online (Sandbox Code Playgroud)
包含 3600 个项目的数组:
A) took 0.5-0.6 seconds
B) took 0.35-0.5 seconds
Run Code Online (Sandbox Code Playgroud)
虽然没有太大的区别,但你可以看到随着数组的增长,差异变得越来越大。我想这让我重新思考我的观点,并说从现在开始,我将设置变量 pre-loop。
存储一个 PHP 整数需要 68 字节的内存。 这是一个足够小的数量,我想我宁愿担心处理时间而不是内存空间。