后端开发|php教程
php static静态变量、java static静态变量的区别
后端开发-php教程
java的static静态属性:
易语言蓝屏源码,ubuntu 加永久路由,梦见昆虫和爬虫,php /library,seo具体分类lzw
<%out.print(Count.getCount());out.print("
");out.print(Count.getCount());%>
自媒体发布系统源码,vscode便宜c语言,ubuntu温度报警,tomcat 无法停止.,属于sqlite下命令是,爬虫获取京东商品信息失败,php源码阅读,罗湖seo外包服务,网站后台缺少功能,网页视频列表播放html,dedecms 律师事务所 模板下载lzw
第一次输出1、2
ios 项目源码下载,ubuntu 进入图形命令,接口返回502tomcat,爬虫限制资源,主机php源码,黄埔关键词seo优化费用lzw
刷新后输出3、4,一直刷新会一直递增。
如果重启tomcat server后再次打开,重新输出1、2
php的static静态属性
<?phpclass Count { private static $count = 0; // 类里定义静态属性 public static function getCount() { self::$count++; return self::$count; }}echo Count::getCount();echo "
";echo Count::getCount();
第一次输出1、2,刷新依然会输出1、2
对比总结:
1. java的static属性伴随着java虚拟机的退出而消亡,java虚拟机运行期间,static属性一直存在,所有用户共享该静态属性。
2. php的static属性只针对一次请求(一次php文件的执行),php文件执行完毕,该static属性也立刻消亡,再次请求(再次执行该php文件),会重新创建该static属性,所以php的static静态属性无共享概念,只对单次请求有效。
补充:
另外,php还有一个static静态变量的概念。静态属性是类里的东西,静态变量是方法里的东西:
function count() { static $count = 0; // 方法里定义静态变量 $count++; return $count;}echo count();echo "
";echo count();echo "
";echo count();
第一次输出1、2、3,刷新后依然输出1、2、3,说明php的静态变量和静态属性一样,也是只对单次请求有效。
参考:
/question/35472851