PHP静态成员变量

 更新时间:2017年02月14日 11:22:03   作者:李宗禹  
本文主要介绍了PHP静态成员变量的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧

静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.

1、静态全局变量

定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。

特点:

A、该变量在全局数据区分配内存。

B、初始化:如果不显式初始化,那么将被隐式初始化为0(自动变量是随机的,除非显式地初始化)。

C、访变量只在本源文件可见,严格的讲应该为定义之处开始到本文件结束。

2.静态局部变量

特点:

A、该变量在全局数据区分配内存。

B、初始化:如果不显式初始化,那么将被隐式初始化为0,以后的函数调用不再进行初始化。

C、它始终驻留在全局数据区,直到程序运行结束。但其作用域为局部作用域,当定义它的函数或 语句块结束时,其作用域随之结束。

静态数据成员和普通数据成员一样遵从public,protected,private访问规则;

因为静态数据成员在全局数据区分配内存,属于本类的所有对象共享,所以,它不属于特定的类对象,在没有产生类对象时其作用域就可见,即在没有产生类的实例时,我们就可以操作它;‘'静态数据成员初始化与一般数据成员初始化不同。静态数据成员初始化的格式为:

数据类型><类名>::<静态数据成员名>=<值>

类的静态数据成员有两种访问形式:

<类对象名>.<静态数据成员名> 或 <类类型名>::<静态数据成员名>

如果静态数据成员的访问权限允许的话(即public的成员),可在程序中,按上述格式来引用静态数据成员 ;

静态数据成员主要用在各个对象都有相同的某项属性的时候。比如对于一个存款类,每个实例的利息都是相同的。所以,应该把利息设为存款类的静态数据成员。这有两个好处,第一,不管定义多少个存款类对象,利息数据成员都共享分配在全局数据区的内存,所以节省存储空间。第二,一旦利息需要改变时,只要改变一次,则所有存款类对象的利息全改变过来了;

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • 使用WordPress发送电子邮件的相关PHP函数用法解析

    使用WordPress发送电子邮件的相关PHP函数用法解析

    这篇文章主要介绍了使用WordPress发送电子邮件的相关PHP函数用法解析,文中还提到了常见的邮件无法发送的情况的解决,需要的朋友可以参考下
    2015-12-12
  • 理解php原理的opcodes(操作码)

    理解php原理的opcodes(操作码)

    现自己对php的原理基本上都不了解,特别是深层的~呵呵,继续努力,特转载喜欢的朋友可以研究下。
    2010-10-10
  • PHP 观察者模式深入理解与应用分析

    PHP 观察者模式深入理解与应用分析

    这篇文章主要介绍了PHP 观察者模式,结合实例形式深入分析了对观察者模式的理解与应用及相关注意事项,需要的朋友可以参考下
    2019-09-09
  • 让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

    让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享

    ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以我们需要修改nginx.conf文件。
    2011-08-08
  • PHP JSON 数据解析代码

    PHP JSON 数据解析代码

    PHP解析JSON 数据代码,与大多数流行的 Web 服务如 twitter 、人人网通过开放 API 来提供数据一样,它总是能够知道如何解析 API 数据的各种传送格式,包括 JSON,XML 等等。
    2010-05-05
  • php自定文件保存session的方法

    php自定文件保存session的方法

    这篇文章主要介绍了php自定文件保存session的方法,详细讲述了session创建与使用的技巧,以及对应的作用范围分析,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php数组函数序列之array_keys() - 获取数组键名

    php数组函数序列之array_keys() - 获取数组键名

    array_keys() 函数返回包含数组中所有键名的一个新数组。如果提供了第二个参数,则只返回键值为该值的键名
    2011-10-10
  • php join函数应用

    php join函数应用

    php join函数应用,需要的朋友可以参考下。
    2011-05-05
  • PHP防盗链代码实例

    PHP防盗链代码实例

    这篇文章主要介绍了PHP防盗链的实现方法,是非常实用的技巧,需要的朋友可以参考下
    2014-08-08
  • PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能

    PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能

    这篇文章主要介绍了PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能,涉及php使用mysql的like查询语句进行模糊查询以及mysql_num_rows进行结构统计的相关操作技巧,需要的朋友可以参考下
    2018-05-05

最新评论