下面是一个示例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>
以前的解决方案是不是性能更好?
答案 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()返回值的结果有任何变化,因此最好将其存储在变量中并根据需要使用它