静态变量(static)


一、静态变量

/**声明一个名为test的函数,测试在函数内部声明的静态变量的使用*/function test(){static $a=0;echo $a;$a++;}test(); //第一次运行,输出0test(); //第二次运行,输出1test(); //第三次运行,输出2test(); //第四次运行,输出3?>
在上例中,将函数中的局部变量$a,使用static关键词声明为静态变量,并赋初值为0.函数在第一次执行时,静态变量$a经运算后,从初值0变为1.当函数第一次执行完毕后,静态变量$a并没有被释放,而是将结果保存在静态内存中。第二次执行时,$a从内存中获取上一次计算的结果1,继续计算,并将结果2存于静态内存空间中。以后每次函数执行时,静态变量将从自己的静态内存空间中获取前次的储存结果,并以此为初值进行计算。
二、static关键字的使用 类中的静态成员是不需要对象而是使用类名来直接访问的,格式如下所示:类名::静态成员属性名; //在类的外部和成员方法中都可以使用这种方式访问静态成员属 性类名::静态成员方法(); //在类的外部和成员方法中都可以使用这种方式访问静态成员方 法
在类中声明的成员方法中,也可以使用关键字“self”来访问其他静态成员。因为静态成员是属于类的,而不属于任何对象,所以不能用$this来引用它,而在PHP中给我们提供的self关键字,就是在类的成员方法中用来代表本类的关键字。格式如下所示:self::静态成员属性名; //在类的成员方法中使用这种方式访问本类中的静态成员属性self::静态成员方法名(); //在类的成员方法中使用这种方式访问本类中的静态成员方法

class MyClass{ static $count; //在类中声明一个静态成员属性count,用于统计对象被创建的次数
function __construct(){ //每次创建一个对象就会自动调用一次这个构造方法免费云主机域名 self::$count++; //使用self访问静态成员count,使其自增1 }
static function getCount(){ //声明一个静态方法,在类外面直接使用类名就可以调用 return self::$count; //在方法中使用self访问静态成员并返回 }}MyClass::$count=0; //在类外面使用类名访问类中的静态成员,为其初始化赋值0
$myc1=new MyClass(); //通过myclass类创建第一个对象,在构造方法中将count累加1$myc2=new MyClass(); //通过myclass类创建第二个对象,在构造方法中又将count累加1$myc3=new MyClass(); //通过myclass类创建第三个对象,在构造方法中再次将count累加1
echo MyClass::getCount(); //在类外面使用类名访问类中的静态成员方法,获取静态属性的值3echo “
“;echo $myc3->getCount(); //通过对象也可以访问类中的静态成员方法,获取静态属性的值3?>代码运行结果为3 3

相关推荐: linux如何判断是否启动了php-fpm

这篇文章主要介绍了linux如何判断是否启动了php-fpm的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux如何判断是否启动了php-fpm文章都会有所收获,下面我们一起来看看吧。 在linux中,可以利用ps命令判断是否…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/24 20:05
下一篇 01/24 21:20