是否需要在PHP的同一页面上一次或每次调用一个函数?

时间:2018-08-25 11:34:41

标签: php function

下面是一个示例PHP函数。

function showPizza() {
     // Prepare ingredients..
     // Make pizza...
     // Bake pizza...
     // Cute pizza...

     return pizza...
}

在一页上,比萨饼需要显示几次。最好只调用一次函数,将值分配给变量,然后根据需要按如下所示多次使用该变量?

<?php $pizza = showPizza(); ?>

<div id="left-session"><?= $pizza ?></div>
<div id="middle-session"><?= $pizza ?></div>
<div id="right-session"><?= $pizza ?></div>

还是在每次需要时按如下所述调用函数?

<div id="left-session"><?= showPizza(); ?></div>
<div id="middle-session"><?= showPizza(); ?></div>
<div id="right-session"><?= showPizza(); ?></div>

以前的解决方案是不是性能更好?

3 个答案:

答案 0 :(得分:1)

对于您所描述的情况,最好是一次调用该函数并将值赋给变量,然后在页面的其余部分使用它。

答案 1 :(得分:1)

如果showPizza返回的值始终相同,则调用一次并将其存储在变量中。 PHP在函数调用上的开销很小,如果函数中包含任何类型的逻辑,这也会增加执行该函数的开销。
只要将值存储在变量中,只要每个函数调用的值没有不同,就可以降低成本并降低成本。

答案 2 :(得分:0)

它们是完全不同的,我将向您展示一个示例

$a=2;
$b=2;
function sumofAandB(){
    return $a+$b;
}
$value = sumofAandB();
$a=9;
echo sumofAandB(); //The output is 11
echo $value; //The output is 4

因此输出将有所不同,但是如果您在调用函数后不更改a和b并将值存储到变量中,那么结果将没有任何差异

BUT :它的运行时间有所不同。如果每次使用该函数时都需要返回值,那么您正在重新计算该值,因此需要更多时间

如果将值存储在变量中,则需要较少的时间,因为您只需运行一次函数即可。

在您的情况下,我看不到showPizza()返回值的结果有任何变化,因此最好将其存储在变量中并根据需要使用它