PHP中静态变量、成员和方法
作者:bea
这篇文章主要简单说说PHP中关键字static,它可以应用在变量、类和方法上,还会涉及到作用域限定操作符(::)和它在面向对象中的含义。 静态变量: 静态变量是只存在于函数作用域的变量,不过,在函数执行完成以后,这个变量的值不会丢失,也就是说,在下一次调用这个函数的时候,变量仍然会记得原来的值。 将某个变量定义为静态变量只要在这个变量前加上关键字static就可以了。如下代码: function demo(){ static $o
这篇文章主要简单说说PHP中关键字static,它可以应用在变量、类和方法上,还会涉及到作用域限定操作符(::)和它在面向对象中的含义。
静态变量:
静态变量是只存在于函数作用域的变量,不过,在函数执行完成以后,这个变量的值不会丢失,也就是说,在下一次调用这个函数的时候,变量仍然会记得原来的值。
将某个变量定义为静态变量只要在这个变量前加上关键字static就可以了。如下代码:
function demo(){
static $one = 1;
$one+=1;
echo $one."
";
}
现在我们来调用上面写的PHP代码:
demo();
demo();
demo();
在上面的代码中我们调用了3次函数demo();他的输出结果为:
2
3
4 奇怪了为什么输出结果不是:
2
2
2 原因为我们在申明函数demo的时候将变量$one申明为了一个静态变量,也就是说在函数demo调用完后,变量$one的值没有变化掉,他是保存在内存当中的,当我们再次调用函数demo的时候$one的值就是前一次调用完后$one的值。
静态成员和静态方法:
在一个类中,在类的成员属性和成员方法名前加关键字static就将这个成员属性或成员方法申明为了静态的。例如如下代码:
class demo{
public static $one;
function getOne(){
self::$one = "This is a demo";
echo self::$one;
}
}
$demo1 = new demo();
$deom->getOne();
上面代码的输出结果为:
This is a demo
我们将成员属性$one申明为了类中静态成员属性,静态成员属性是在类的所有实例之间共享的,这点非常重要,所以我们在类中调用静态成员变量$one用的是self而不是$this
$this代表的是当前的实例化对象。
这里最值得大家注意的是使用self访问类的成员属性的时候在成员属性前加$符号。
静态的成员方法和静态的成员属性基本没有什么大的区别。大家可以自己查阅相关的资料。
申明:本文为原创作品,转载请注明来自信鸽网 网址http://www.xinge360.com 有用 | 无用
静态变量:
静态变量是只存在于函数作用域的变量,不过,在函数执行完成以后,这个变量的值不会丢失,也就是说,在下一次调用这个函数的时候,变量仍然会记得原来的值。
将某个变量定义为静态变量只要在这个变量前加上关键字static就可以了。如下代码:
function demo(){
static $one = 1;
$one+=1;
echo $one."
";
}
现在我们来调用上面写的PHP代码:
demo();
demo();
demo();
在上面的代码中我们调用了3次函数demo();他的输出结果为:
2
3
4 奇怪了为什么输出结果不是:
2
2
2 原因为我们在申明函数demo的时候将变量$one申明为了一个静态变量,也就是说在函数demo调用完后,变量$one的值没有变化掉,他是保存在内存当中的,当我们再次调用函数demo的时候$one的值就是前一次调用完后$one的值。
静态成员和静态方法:
在一个类中,在类的成员属性和成员方法名前加关键字static就将这个成员属性或成员方法申明为了静态的。例如如下代码:
class demo{
public static $one;
function getOne(){
self::$one = "This is a demo";
echo self::$one;
}
}
$demo1 = new demo();
$deom->getOne();
上面代码的输出结果为:
This is a demo
我们将成员属性$one申明为了类中静态成员属性,静态成员属性是在类的所有实例之间共享的,这点非常重要,所以我们在类中调用静态成员变量$one用的是self而不是$this
$this代表的是当前的实例化对象。
这里最值得大家注意的是使用self访问类的成员属性的时候在成员属性前加$符号。
静态的成员方法和静态的成员属性基本没有什么大的区别。大家可以自己查阅相关的资料。
申明:本文为原创作品,转载请注明来自信鸽网 网址http://www.xinge360.com 有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- smarty的安装、配置和使用实例
- 给大家介绍几个PHP模板引擎
- 强烈推荐一个PHP写的验证码类
- 配置.htaccess文件实现URL地址重写
- 建立友好于搜索引擎的URL地址
- PHP将sql文件导入到phpmyadmin
- 分享一个PHP写的分页类
- PHP连接mysql数据库的二种方法
- PHP数组合并函数array_merge
- php会话控制cookie的应用
- PHP学习:遍历数组的几种方法
- PHP查询指定字符在字符串出现的次数
- 优化PHP程序效率的一些细节
- 推荐几本好的PHP书籍
- 向大家推荐几款好用的php开发工具
- PHP中异常处理机制介绍
- PHP编码规范之注释规范
- PHP常用设计模式之单例模式
- php中instanceof操作符的作用