繁体   English   中英

在PHP中创建一个只能由一个函数访问的变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM