欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php的静态局部变量

程序员文章站 2022-03-20 20:30:51
...
静态局部变量可以做到,该变量和全局变量保存在内存中同一区域,但是我们离开了声明该静态局部变量函数却不能访问到该变量,但是该变量并没有被销毁,它的值得到了保留。再次调用函数时它就再次可以访问到,需要注意的是:
1.静态局部变量声明时不能是表达式,是表达式会出错
static$index = 1;
static$index = 5;  // 报错

2.赋值静态变量时不能使用表达式

static$index = 1 + 1;  // 报错

3.如果我们只是声明了一个局部变量并没有赋值的化,会默认为其初始化一个0或者空字符串,根据其类型来确定到底是0还是空字符串

例子:
将数组降维(降到一维)

classTest{publicfunctionreduce_arr($arr) {static$temp = array(); // 声明了一个静态局部变量foreach ($arras$key => $val) {
            if (is_array($val)) {
                $this->reduce_arr($val);
            } else {
                $temp[$key] = $val;
            }
        }
        return$temp;
    }
}
$test = new Test();
$arr = array(
    '0'=>array(
        'good_id'=>1
    ),
    '1'=>array(
        'good_num'=>2
    ),
    '2'=>array(
        'good_ids'=>2
    )
);
var_dump($test->reduce_arr($arr));  // 此时得到的是一个一维数组
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了php的静态局部变量,包括了全局变量,静态变量方面的内容,希望对PHP教程有兴趣的朋友有所帮助。