设置函数外部函数的静态变量

时间:2018-04-05 20:49:38

标签: php

如果我们有

function counter() {
    static $count = 0;

    $count++;

    return $count;
}

我们可以在函数$count之外设置counter()的值吗?

我知道您可以使用Reflection获取函数内部所有静态变量的值:

$vars = (new ReflectionFunction('counter'))->getStaticVariables()

但我找不到同样的设置。

2 个答案:

答案 0 :(得分:2)

不会更容易做到以下几点;

<input name="myField" value="0" type="number">

这样因为$ count是全局可用的,你可以将它的值设置为初始化时需要的值。

答案 1 :(得分:0)

您可以添加可选参数,并覆盖静态初始化(如果已提供)。

function counter($init = null) {
    static $count = 0;

    if (!is_null($init)) $count = $init;

    $count++;

    return $count;
}