php基础——static关键字

static 放在函数内部修饰变量

静态变量在函数执行完后,变量值仍然保存,不销毁

// 普通变量在函数中每次调用时,都会重新初始化
function t(){
    $a = 10;		// 普通变量
    $a++;

    return $a;
}

echo t();   // 11
echo t();   // 11
echo t();   // 11
// static静态变量,在第1次函数调用声明后存在,且不随函数结束而结束,当函数再次调用时,直接利用上次的结果
function t(){
    static $a = 10;	// 静态变量
    $a++;

    return $a;
}

echo t();   // 11
echo t();   // 12
echo t();   // 13

静态变量与递归函数

// 静态变量与递归函数

$arr = array(1,2,3,array(4,array(5,6)));

function sum($arr){
    static $sum = 0;
    foreach ($arr as $value){
        if (is_array($value)){
            sum($value);
            continue;
        }   // 这里用 else 也可以和 continue 一样效果
        $sum += $value;
    }
    return $sum;
}

echo sum($arr);

static放在类里修饰属性,或方法

static放在类的方法里修饰变量

static修饰在全局作用域的变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值