常量和静态变量会先载入内存后在进行执行php代码

static $test=1;//php执行前就已经写入内存
$test++;
var_dump($test);
static $test=10;//php执行前就已经写入内存
var_dump($test);
$test--;
var_dump($test);
$test-=10;
$test-=5;
$test--;
static $test=20;//php执行前就已经写入内存,写入的值就是最后一个定义的值
var_dump($test);
/*
* int(21) int(21) int(20) int(4)
* 为什么打印出来是这样的值 ?
* 因为常量和静态变量会先载入内存后在进行执行php代码。
* 不理解 ? 用白话说就是:
* 同一个静态属性会以最后一个定义的数值PHP会进行内存存放,
* 1.所以我们打印出来第一个值就是int(21)
* 2.第二个值代码没改动,等同第一个值
* 3.第三个值进行--,所以是第二数值-1.
* 4.第四值进行-16(自行研究16由来),所以第三值-16就是第四位数值。

转载于:https://www.cnblogs.com/ghjbk/p/6963054.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值