[英]Creating a variable in PHP that can only be accessed by one function
我有一个仅由1个函数使用的变量。 现在,我将变量声明为全局变量,并在函数内部使用global
来访问变量。 但是,恐怕我可能会在其他地方意外覆盖该变量。 有没有一种方法可以让一个变量仅使用一个函数而不使用类?
这是我想要的示例:
$i=0;
function increment(){
global $i;
$i++;
echo $i;
}
for($j=0;$j<10;$j++)
increment();
// outputs 12345689
如果您想要一个局部变量,其值在一个调用到另一个调用之间持续存在,请将其声明为static
:
function increment() {
static $i = 0;
$i++;
echo $i;
}
您为什么不这样做:
function increment(){
static $i = 0;
$i++;
echo $i;
}
对静态变量执行的任何操作都在其地址处完成。 因此,您甚至不会失去最终的价值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.