这个问题可能“有点过时”。但或多或少它是微基准代码,但它是为了提高我的标准和 PHP 后端的一般知识。

所以!我来了,我的问题!与在 PHP 中调用额外的 else 条件相比,调用一个变量两次需要更少的内存(和 CPU 负载)吗?哪个需要更多资源?为什么?

下面的例子:
A 显示调用变量两次, B 显示调用其他 else 条件。当然,两者都有相同的最终结果。

对任何答案(回复)的任何额外引用也将被高度挪用!如果可能的话。

示例 A:

$a = 1;
if (isset($array['a']))
{
    $a = $array['a'];
}

$b = NULL;
if (isset($array['b']))
{
    $b = $array['b'];
}

示例 B:
if (isset($array['a']))
{
    $a = $array['a'];
}
else
{
    $a = 1;
}

if (isset($array['b']))
{
    $b = $array['b'];
}
else
{
    $b = NULL;
}

最佳答案

我创建了一个迷你基准测试,看看哪个更快。
下面对这两个函数精确地求值 100 次。
在这两个函数中,它们准确地评估了您的示例 100,000 次。
在我的家庭 Ubuntu Web 服务器上,输出与此类似。

6.0754749774933 = 给变量一个默认值。

4.8433840274811 = 改用 else 语句。

第二个示例(else 语句)快了两秒,但是该示例执行了 10,000,000(1000 万)次。在现实生活中的示例中,代码的可读性和您的团队喜欢什么比节省几毫秒更重要。

要回答您的问题 ,使用任一方法时几乎有 0 差异。

如果你想要我的意见,我更喜欢第二个例子。

这是我使用的基准测试代码。 http://phpfiddle.org/api/raw/8nm-d72

关于PHP 微基准测试(变量与条件语句),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19327242/

10-12 06:50