版权声明:原创文章,转载需注明本出处。 https://blog.csdn.net/silenty/article/details/84313571
情形1:
<HTML>
<HEAD>
<TITLE>静态变量static</TITLE>
</HEAD>
<BODY>
<?php
$person = 20;
function showpeople(){
static $person=5;
$person = 11;
$person++;
echo $person.' <br>';
}
showpeople();
echo $person.' <br>';
showpeople();
?>
</BODY>
<HTML>
运行结果:
12
20
12
稍作改变,情形2:
<HTML>
<HEAD>
<TITLE>静态变量static</TITLE>
</HEAD>
<BODY>
<?php
$person = 20;
function showpeople(){
$person = 11;
static $person=5;
$person++;
echo $person.' <br>';
}
showpeople();
echo $person.' <br>';
showpeople();
?>
</BODY>
<HTML>
运行结果:
6
20
7
结论:
函数内部同名变量与静态变量并存时,赋值操作的先后顺序至关重要,我谓之为“后入为主”。情形1中,函数中后赋值的是变量,故其后的echo按变量来运行;情形2中,函数中后赋值的是静态变量,故其后的echo按静态变量来运行。