我正在尝试将已设置的会话变量传递到函数中,以便使用它的值来执行计算。 $ _SESSION ['gv_1']设置在函数之外,我想将它传递给函数以使用它的值。我还想在函数中设置$ gv_1作为局部变量,所以我不必继续编写$ _SESSION ['gv_1']。然后我想将新的计算值返回到$ _SESSION ['gv_1'],以便在函数外部使用。
function sg_gc1($gv_1) {
$gv_1 = $_SESSION['gv_1'];
// more statements performing calculations using $gv_1
// Return new value to $_SESSION['gv_1'] for use outside of the function.
}
答案 0 :(得分:4)
只需将$_SESSION['gv_1']
作为参数传递给sg_gc1()
。然后,当您在sg_gc1()
中定义参数时,它将自动在该函数中使用参数名称。在这种情况下,它将是$gv_1
。然后返回该值。
function sg_gc1($gv_1) {
// do stuff to $gv_1
return $gv_1;
}
$variable = sg_gc1($_SESSION['gv_1']);
这样做不会将会话变量硬编码到您的函数中,因此如果将来该值不在会话中而是另一个变量,则您不需要重构代码。它还使您的代码更易于理解和维护。
答案 1 :(得分:0)
如果你想将一个变量传递给一个函数,你可以在调用函数时传递它:
//define your function here
function sg_gc1($gv_1) {
//your code
}
$gv_1 = $_SESSION['gv_1'];<----get the session value and assign to local variable
sg_gc1($gv_1); <----call the function and pass in the value of the variable you created