在 PHP 中的函数内部从外部获取变量
2022-08-30 12:49:27
我试图弄清楚如何使用在函数外部,在函数内部设置的变量。有什么办法可以做到这一点吗?我试图将变量设置为“全局”,但它似乎没有按预期工作。
我的代码的简单示例
$var = '1';
function() {
$var + 1;
return $var;
}
我希望它返回值 2。
我试图弄清楚如何使用在函数外部,在函数内部设置的变量。有什么办法可以做到这一点吗?我试图将变量设置为“全局”,但它似乎没有按预期工作。
我的代码的简单示例
$var = '1';
function() {
$var + 1;
return $var;
}
我希望它返回值 2。
您需要在函数中使用全局关键字。http://php.net/manual/en/language.variables.scope.php
编辑(尴尬我忽略了这一点,感谢评论者)
...并将结果存储在某个地方
$var = '1';
function() {
global $var;
$var += 1; //are you sure you want to both change the value of $var
return $var; //and return the value?
}
Globals会做到这一点,但通常很好远离。在较大的程序中,您无法确定是否存在行为,因为它们可以在整个程序中的任何位置进行更改。测试使用全局变量的代码变得非常困难。
另一种方法是使用类。
class Counter {
private $var = 1;
public function increment() {
$this->var++;
return $this->var;
}
}
$counter = new Counter();
$newvalue = $counter->increment();