网络技术知识
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
关键字声明。 - 局部静态变量只能在声明它们的函数内部访问,并且在函数调用之间保持不变。
- 全局静态变量可以在任何函数内部访问,并且在整个脚本执行期间保持不变。
希望这个攻略对你有帮助!如果你还有其他问题,请随时提问。