php类中静态变量与常亮的区别
Posted 奔跑的大白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php类中静态变量与常亮的区别相关的知识,希望对你有一定的参考价值。
在效率上:常量编译过程比静态变量快的多。
代码:
<?php error_reporting(E_ALL); class A { const c = 9; public static $b = 5; public function setst ($ca) { self::$b = $ca; } } $obj = new A; echo $obj->c;//出错,是类的属性,不是对象的属性 echo $obj->$b;//出错,是类的属性,不是对象的属性 echo $obj::c;//ok, echo A::c;//ok echo $obj::$b;//ok echo A::$b;//ok $obj->setst(100);//更改静态变量的值 echo $obj::$b;//更改成功 ?>
结论:
实例的属性才可以用 $obj->c 这种方式访问。
静态变量和常量都是类的属性,类的属性都用双冒号访问(::),通过对象或者类名都可以访问。
常量是不可变的,静态变量可以通过self来赋值改变。
const常量:类的不变属性
static变量:类的可变属性
以上是关于php类中静态变量与常亮的区别的主要内容,如果未能解决你的问题,请参考以下文章