小编use*_*301的帖子

PHP 检查静态变量是否已声明或初始化?

我想检查之前是否声明/初始化了静态变量,例如,是否第一次运行具有静态变量的函数。请参阅以下示例代码:

function init_i (){
    // check if $i is set??
    if(isset($i)) echo '$i is static and is set ';


    static $i=0;
    $i++;
    echo "$i<br>";
}

function run_init(){
    init_i();
}

run_init(); //output 1
run_init(); //should output $i is static and is set 2
run_init(); //should output $i is static and is set 3
run_init(); //should output $i is static and is set 4
run_init(); //should output $i is static and is set 5
Run Code Online (Sandbox Code Playgroud)

问题是 isset($i) 似乎永远不会被证明是正确的,即使它是一个静态变量。如何检查是否static $i已设置?

php

3
推荐指数
1
解决办法
4126
查看次数

标签 统计

php ×1