是每次调用函数还是将该值存储在新变量中更好?

mar*_*zzz 6 php

我经常sizeof($var)在我的Web应用程序上使用该函数,并且我想知道是否更好(在资源术语中)将此值存储在一个新变量中并使用此变量,或者如果每次该函数更好地调用/使用它; 或者也许是漠不关心的:)

Dav*_*ave 6

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 字节的内存。 这是一个足够小的数量,我想我宁愿担心处理时间而不是内存空间。