php - 函数的 return 语句未按预期工作

标签 php function return

我的 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/

相关文章:

php - Doctrine DQL 日期作为参数问题

php - 如何在 PHP 中保护数据库密码?

function - 我用 go 编写的递归函数有什么问题?

javascript - 通过 Value NOT Reference 返回 Javascript 对象的属性

string - JNI程序中的jstring返回

php - mysql数据库转html页面

javascript - 输入价格后如何在表格中添加另一行并计算金额(数量*价格)?

sql - 存储函数 postgresql 返回表

java - Action - 不调用execute()方法

C# 从 try-catch block 返回