php的静态局部变量

原创
2016-07-29 09:13:46 1124浏览

静态局部变量可以做到,该变量和全局变量保存在内存中同一区域,但是我们离开了声明该静态局部变量函数却不能访问到该变量,但是该变量并没有被销毁,它的值得到了保留。再次调用函数时它就再次可以访问到,需要注意的是:
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 <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

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

  • 声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。