关于“php_函数_静态变量”的问题,小编就整理了【4】个相关介绍“php_函数_静态变量”的解答:
什么是静态变量?静态变量(Static Variable)在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量。
与之相对应的是在运行时只暂时存在的自动变量(即局部变量)与以动态分配方式获取存储空间的一些对象,其中自动变量的存储空间在调用栈上分配与释放。
php预定义变量的三个基本类型?变量定义 $变量名 = “变量值”; 例如 $b = "1234"; 如果变量值是数字可以不用引号! 存在8种变量类型,可以分为三类* 标量类型: boolean、integer、float(double)、string* 复合类型: array、object* 特殊类型: resource、NULL
php函数的参数赋值方式?2、引用赋值,例如$a=&$b,即$a和$b在都指向了内存中的同一个存储变量值得地址;
3、引用计数传值,在php和js中的对象都是默认的传值方式都是引用计数传值,例子如下:
<?php
class Dog{
public $name="小花";
public $leg=4;
}
$a=new Dog;//此时,$a指向了内存中的一个地址(假设0XFFAD[1]),该地址又指向最终对象的值
$b=$a;//此时,$b和$a都指向了内存中的另一个地址(0XFFAD[2]),该地址又指向最终对象的值
var_dump($b->leg);//结果是int 4
$b=999;
var_dump($b);//结果是int 999;
var_dump($a);//此时的结果不是int 999,而是object(Dog)[1]
public 'name' => string '灏忚姳' (length=6) public 'leg' => int 4
临时变量和静态变量的区别?区别如下:静态变量从作用域上分属于局部变量;从生命周期上来看,它与用户程序的生命周期相同。临时变量也属于局部变量,不过其生命周期短,仅在POU运行的过程中有效。
1. 存储位置的不同:临时变量存储在栈内存中,而静态变量存储在静态存储区中。
2. 生命周期的不同:临时变量的生命周期随着函数的调用结束而结束,而静态变量的生命周期在程序运行期间始终存在。
3. 初始化的不同:临时变量不需要初始化,而静态变量在定义时可以被初始化一次。
4. 可见性的不同:临时变量只在其所属的函数中可见,而静态变量则可以在其它函数中访问,甚至在不同的文件中也可以被访问。
5. 内存分配方式的不同:临时变量的内存分配是自动的,由编译器在函数栈帧中进行分配和释放,而静态变量的内存分配是静态的,在程序运行时就已经分配好了,在程序结束后才会被释放。
到此,以上就是小编对于“php_函数_静态变量”的问题就介绍到这了,希望介绍关于“php_函数_静态变量”的【4】点解答对大家有用。