前言
在PHP中有一个静态关键字,叫做:,所有和静态有关的事儿都归它管,包括 静态变量、静态类属、静态类方法。
它用的不多,容易被忽视。但其实在PHP中,它很重要,而且对于新人很难理解。接下来的几篇文章会持续的和大家讲 关键字。
静态变量的基本概念
必须定义为局部变量(函数内),使用 关键字定义。
动态变量:函数执行完毕,局部变量销毁
静态变量:函数执行完毕,变量的值保留
基础语法
从代码中可以看到,定义的静态变量可以累加,而普通变量则不能。
实战意义
我们在处理递归的时候,需要反复执行同一函数,此时借助静态变量,就可以很好的维护局部变量。
PS:递归语法我就不写了,写过递归的小伙伴都知道。
内存管理
在此额外啰嗦一句:PHP专门为“静态资源”分配了一块内存,直到程序运行结束才会释放。相反,动态局部变量在函数调用结束后,内存会立刻释放。
简单来说:PHP给静态变量安排了VIP待遇,不管有用没用,但只要程序没结束,数据就不删除。这在后期理解类的静态调用,也很重要!
总结
今天只是抛砖引玉,静态变量在实际开发中应用的不多。后续会慢慢和大家分享静态调用类属性、方法的一些知识,然后和大家讲一下单例模式和facade,他们都是基于静态的特性实现的。
领取专属 10元无门槛券
私享最新 技术干货