这篇文章将为大家详细讲解有关PHP中const和static变量有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别:const一旦被定义不可更改,static修饰的变量是可以被更改的。const
这篇文章将为大家详细讲解有关PHP中const和static变量有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
区别:const一旦被定义不可更改,static修饰的变量是可以被更改的。const只可以修饰类的属性,不能修饰类的方法;static可以修饰属性,也可以修饰方法。
PHP中 static 与 const 变量的区别
static变量
1.static静态变量 我们可以对于其 进行修改,但是const变量我们不能对其进行修改
2.static 静态变量可以对其修改权限
3.和java类似,在类的内部,satic 修饰的方法的体内无法访问类的非staic成员变量,只能访问类的staic变量和类的const常量
class staticTest1 { var $var1 = "hello"; public static $var2 = "hellostatic"; //public, protected, private const var3 = "helloconst"; public static function displayDifferent(){### echo $this->$var1."<br>";//不能访问普通变量 echo staticTest1::$var2."<br>";//可以访问类的静态变量 echo self::var3."<br>";//不能用$this::var3, self::var3代表当前类,$this::var3代表当前对象 }}
//可以用两种方法调用方法
//第一种,通过对象调用$test1 = new staticTest1();echo $test1->displayDifferent();echo "<br>";//第二种,通过类调用echo staticTest1::displayDifferent();echo "<br>";
顺便一提,”::” 对于对象而言只能访问静态变量和方法,还有self只能用”::”来调用当前类的成员
1.const变量只能修饰成员变量,不能修饰方法
2.不需要加修饰权限
3.因为const变量属于整个类的,不属于某个对象,所以不能通过对象来访问,像$this->constvariable就不允许
class constTest1 { var $var1 = "welcome";// public const pi = 3.14;//不能加修饰权限 const pi = 3.14;// const function displayDifferent() {//function前不能加const// // } function displayDifferent() { echo self::pi."<br>";// echo $this::pi."<br>"; } static function displayDifferent2() { echo self::pi."<br>";// echo $this::pi."<br>"; //这句话不行。 }}
两种方法调用
//第一种,通过对象调用$test2 = new constTest1();echo $test2->displayDifferent();//第二种,通过类调用//echo constTest1::displayDifferent();//对象名用"::"只能访问静态变量和方法,所以这个不行echo constTest1::displayDifferent2();
关于“php中const和static变量有哪些区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
--结束END--
本文标题: php中const和static变量有哪些区别
本文链接: https://www.lsjlt.com/news/269666.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0