我的 php 脚本中有 4 个函数,它们将按升序访问,在最后一个函数中我想返回一个值,但赋值不起作用。
我的 PHP 脚本:
function fourth_f($var){
$var = $var + 1;
return $var; //this will make the $var = 6 and return to main process
}
function third_f($var){
$var = $var + 1;
fourth_f($var); //this will make the $var = 5
}
function second_f($var){
$var = $var + 1;
third_f($var); //this will make the $var = 4
}
function first_f($var_1, $var_2){
$var = $var_1 + $var_2 + 1;
second_f($var); //this will make the $var = 3
}
//The main
$var_1 = 1;
$var_2 = 1;
$final_var = first_f($var_1, $var_2);
//And i want to echo it here
echo $final_var;
当我执行脚本时,没有错误,但也没有结果,它只是空白,我期望结果为 6。
有人知道出了什么问题以及如何正确地从最后一个函数返回一个值吗?
最佳答案
第四个函数会将值返回给第一个函数。因此,您必须返回每个函数中的每个函数调用,然后才能将值分配给变量,例如
function fourth_f($var){
$var = $var + 1;
return $var; //returns this value to function third_f
}
function third_f($var){
$var = $var + 1;
return fourth_f($var); //returns this value to function second_f
}
function second_f($var){
$var = $var + 1;
return third_f($var); //returns this value to function first_f
}
function first_f($var_1, $var_2){
$var = $var_1 + $var_2 + 1;
return second_f($var); //returns this value to the assignment
}
关于php - 函数的 return 语句未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30351534/