我的配置文件中有这样的构造:
<?php
if (true) {
$nonstatic = 1;
static $config = 1;
}
else {
$nonstatic = 2;
static $config = 2;
}
echo $nonstatic;
echo $config;
?>
那么,如果语句的这一部分为false并且$ nonstatic包含1,为什么$ config包含2?是 bug 吗?
最佳答案
我猜想这个块是从一个函数中包含的。
静态变量的初始化在编译时和if the interpreter finds multiple initialisations, it simply takes the bottom one进行解析。
关于PHP静态在if语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7404989/