PHP static:静态变量

本文介绍了PHP中的静态变量特性,强调了其在函数调用结束后依然保持其值的特点。通过示例代码展示了静态变量如何在多次调用中保留最后一次赋值,并解释了静态变量的初始化规则。此外,还提供了一个使用静态变量实现递归的函数`test()`,展示了静态变量在计数和递归控制中的应用。
摘要由CSDN通过智能技术生成

静态变量是一个特殊的局部变量,通过前面的学习我们知道,在函数内部定义一个局部变量,函数调用结束之后这个变量就会被销毁,不能继续使用了。而静态变量不同,静态变量在初始化之后,会在程序运行期间会一直存在。

和局部变量相比,静态变量具有一下特点:

  • 当函数执行完毕后,静态变量不会消失;
  • 静态变量只能在函数内部使用;
  • 静态变量只会被初始化一次; 
  • 静态变量初始化的值可以省略,默认值为 null;
  • 静态变量的初始值只能是具体的字符串、数值等,而不能是一个表达式。

也就是说,静态变量的初始化只进行一次,而且是在定义变量时初始化,如果多个定义取最后一次定义的值

<?php
    static $a=1;
    echo $a;
    static $a=2;
    echo $a;
    static $a=3;
    echo $a;
?>

在上面的例子中,静态变量$a的初始值为最后一次定义静态变量时的值,相当于如下代码段:

<?php
    static $a=1;
    static $a=2;
    static $a=3;
    echo $a;
    echo $a;
    echo $a;
?>

输出内容为12345678910

<?php
  function test(){    
    static $count = 0;    
    $count++;    
    echo $count;    
    if ($count < 10) { 
        test();    
    }    
    $count--;
  }
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值