Home > Article > Backend Development > What is the difference between php constants and static variables
The difference between constants and static variables in php: 1. Constants are immutable quantities, while static variables can be assigned and changed through self; 2. In terms of compilation efficiency, the compilation process of constants is faster, while The compilation process for static variables is slower.
The operating environment of this tutorial: windows10 system, PHP7.1 version, DELL G3 computer
In terms of efficiency: the constant compilation process is much faster than static variables.
Code:
<?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;//更改成功 ?>
Conclusion:
Only the properties of the instance can be accessed using $obj->c.
Static variables and constants are attributes of a class. Class attributes are accessed using double colons (::), and can be accessed through object or class names.
Constants are immutable, and static variables can be assigned and changed through self.
const constants: immutable attributes of a class
static variables: variable attributes of a class
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What is the difference between php constants and static variables. For more information, please follow other related articles on the PHP Chinese website!