>  기사  >  백엔드 개발  >  小弟不才,求教static的有关问题

小弟不才,求教static的有关问题

WBOY
WBOY원래의
2016-06-13 13:12:09822검색

小弟不才,求教static的问题
static $ary = array();
$ary[] = 'a';
print_r($ary);die();
static $ary = array('aaa', 'bbb');
$ary[] = 'a';
print_r($ary);

为何这段代码输出的结果是
Array ( [0] => aaa [1] => bbb [2] => a )

难道static的会先执行?不会吧?!

------解决方案--------------------
是的,可以这么认为
static 被 php 解释成了一个内部函数,并先于 php 程序执行
所以静态变量可以有初值,但初值不能包含变量

换一种说法可能容易理解些:
静态变量在程序开始时就已经赋值了

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.