Heim  >  Artikel  >  Backend-Entwicklung  >  小弟不才,求教static的有关问题

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

WBOY
WBOYOriginal
2016-06-13 13:12:09861Durchsuche

小弟不才,求教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 程序执行
所以静态变量可以有初值,但初值不能包含变量

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn