一个函数应该总是返回一些值,例如,如果你有一个这样的函数。
function foo() {
return 'hello world';
}
如果你调用它并将它分配给一个变量然后
/*
* in the below example the function will be called once
* and the function's return value will be assigned to $a variable
* now $a will contain value 'hello world';
*/
$a = foo();
如果您尝试打印变量$a
,它将仅打印它包含的值,而不会再次调用该函数,因为$a
现在包含“hello world”;
通过多次回显 $a 变量。
echo $a;
echo $a;
echo $a;
将简单地打印该值hello world
3 次而不调用该函数 3 次。
但是,例如,当您多次调用该函数时。
$a = foo();
$a = foo();
现在来回答你的问题。
这将导致函数被多次调用。以及被函数调用返回的前一个值覆盖的值。将变量分配给函数意味着 function_name(); 也是如此。只做一次工作,变量只是回收数据以供以后使用,或者 function_name(); 实际工作两次?
我希望我已经详细解释了这一点。
Is it better practice to assign variables or just directly call the function each time it needs to be used?
好吧,这取决于上下文以及您要使用的函数,底线是,总是尝试从函数返回一些值,例如。
a)如果该函数用于获取一些值并对其进行格式化,则应将其作为数组、字符串或任何数据类型返回。
b)如果该函数旨在执行某些操作而不是任何获取,那么您可以返回布尔值,例如return true|false
指示操作是否成功。