PHP 静态变量

标签 php static

$count = 5;
function get_count()
{
    static $count = 0;
    return $count++;
}
echo $count;
++$count;
echo get_count();
echo get_count();

我猜它输出 5 0 1 是对的,但我需要更好的解释吗?

最佳答案

函数中的变量$count 与全局$count 变量没有任何关系。 static keyword和C或Java一样,意思是:只初始化这个变量一次,并在函数结束时保持它的状态。这意味着,当执行重新进入函数时,它会看到内部 $count 已经被初始化并最后一次存储为 1,并使用该值。

关于PHP 静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1642333/

相关文章:

php - 在php继承中执行__constructor()

php - 要显示此页面,Firefox 必须发送将重复之前执行的任何操作(例如搜索或订单确认)的信息

php - HTML & PHP MySQL,从文本区域插入许多数据到表中

multithreading - 在多核嵌入式 Rust 中,我可以使用静态 mut 进行单向数据共享吗?

java - 静态数据使用SoftReference防止Java内存不足

java - 限制对方法的并发访问

没有静态关键字声明的字符数组在 C 中崩溃

php - 错误超时,使用codeigniter中的excel_reader上传excel文件

php - 在 Laravel 5 中设置队列

java - 实例化静态嵌套类而不限定封闭类