PHP静态数组技术疑问:声明后是否已纳入脚本及假设是否正确
关于PHP类静态数组属性的两个问题解答
1. 你的假设是正确的
把数组声明为类的静态属性,确实能避免每次实例化类时重新创建数组。因为静态属性属于类本身,而非类的实例对象:
- 无论你创建多少个
ID3类的实例,$tableBR数组只会在类第一次被加载时初始化一次 - 所有实例共享这个静态数组,不会重复分配内存创建新的数组副本
2. 静态数组会被纳入脚本运行环境
当你的PHP脚本执行到加载ID3类的代码时(比如第一次实例化类、直接访问ID3::$tableBR),这个静态数组就会被初始化并加载到脚本的内存中,直到脚本执行结束才会被销毁。如果脚本中没有触发类的加载(比如从未引用过这个类),那静态数组不会被初始化。
内容的提问来源于stack exchange,提问作者Georgio
相关产品推荐
相关产品推荐

