我正在努力理解这段代码的工作原理。当我们用值5调用函数时,c的值变为5.现在5 + 25 = 30。我不明白的是$_GET['c']
的值如何等于25,它应该是5。
<?php
function process($c, $d = 25){
global $e;
$retval = $c + $d - $_GET['c'] - $e;
return $retval;
}
$e = 10;
echo process(5);
?>
答案 0 :(得分:0)
它的变量应该是另一个值,也许你使用“全局”,你可能会从另一个位置获取值。
尝试显示变量:
<?php
function process($c, $d = 25){
global $e;
echo '$e: ', $e , '<br>';
echo '$c: ', $c , '<br>';
echo '$d: ', $d , '<br>';
echo '$_GET['c']: ', $_GET['c'] , '<br>';
$retval = $c + $d - $_GET['c'] - $e;
echo $c ,' + ' , $d , ' - ' , $_GET['c'] , ' - ' , $e , ' = ' , $retval , '<hr>';
return $retval;
}
$e = 10;
echo process(5);
?>
所以你可能会发现变量问题。
在某些情况下,您可以在类中使用静态函数(面向php对象)