PHP static局部静态变量和全局静态变量总结

PHP static局部静态变量和全局静态变量总结

在PHP中,我们可以使用static关键字来声明静态变量。静态变量可以在函数内部或类的方法内部使用,并且在多次调用时保持其值不变。在本文中,我们将讨论PHP中的局部静态变量和全局静态变量,并提供一些示例说明。

局部静态变量

局部静态变量是在函数内部声明的静态变量。它们只能在声明它们的函数内部访问,并且在函数调用之间保持其值不变。以下是一个示例:

function countCalls() {
    static $count = 0;
    $count++;
    echo \"函数已被调用了 $count 次.<br>\";
}

countCalls(); // 输出:函数已被调用了 1 次.
countCalls(); // 输出:函数已被调用了 2 次.
countCalls(); // 输出:函数已被调用了 3 次.

在上面的示例中,$count是一个局部静态变量。每次调用countCalls()函数时,$count的值都会增加,并且在函数调用之间保持不变。

全局静态变量

全局静态变量是在函数外部声明的静态变量。它们可以在任何函数内部访问,并且在整个脚本执行期间保持其值不变。以下是一个示例:

function increment() {
    static $count = 0;
    $count++;
    echo \"计数器的值为: $count<br>\";
}

function decrement() {
    static $count = 10;
    $count--;
    echo \"计数器的值为: $count<br>\";
}

increment(); // 输出:计数器的值为: 1
increment(); // 输出:计数器的值为: 2
decrement(); // 输出:计数器的值为: 9
decrement(); // 输出:计数器的值为: 8

在上面的示例中,$count是一个全局静态变量。它可以在increment()decrement()函数内部访问,并且在函数调用之间保持不变。

总结

  • 静态变量使用static关键字声明。
  • 局部静态变量只能在声明它们的函数内部访问,并且在函数调用之间保持不变。
  • 全局静态变量可以在任何函数内部访问,并且在整个脚本执行期间保持不变。

希望这个攻略对你有帮助!如果你还有其他问题,请随时提问。

营销型网站